• 검색 결과가 없습니다.

대용량 데이터 가시화의 효율적 데이터 공유를 위한 분산 메모리 기술

N/A
N/A
Protected

Academic year: 2021

Share "대용량 데이터 가시화의 효율적 데이터 공유를 위한 분산 메모리 기술"

Copied!
18
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

ISBN 978-89-6211-453-7 98560

대용량 데이터 가시화의 효율적 데이터 공유

를 위한 분산 메모리 기술

(Distributed Memory Techniques for sharing data on Massive Data

Visualization)

김 민 아 (

petimina

@kisti.re.kr

)

한 국 과 학 기 술 정 보 연 구 원

(2)

목차

1. 개 요 ··· 1

2. 대용량 데이터 가시화 시스템의 입출력과 데이터

공유 문제 ··· 2

3. LamdaRAM ··· 5

가. LambdRAM의 개념 ··· 5

나. Functional Architecture ··· 7

다. LambdaRAM의 성능 ··· 9

라. LambdaRAM을 사용한 간단한 Parallel Programing ··· 9

4. Distributed Shared Memory ··· 11

가. Global Address Space ··· 11

나. DIPC (Distributed Inter Process Communication) ··· 11

다. SCASH ··· 12

라. TreadMarks ··· 12

5. 결론 ··· 12

(3)

표 차례

(4)

그림 차례

[그림 1-1] GLOVE HW Architecture ··· 2

[그림 1-2] GLOVE Display Nodes ··· 3

[그림 1-3] Rendering Request Processing ··· 4

[그림 2-1] LambdaRAM encompassing a single cluster ··· 6

[그림 2-2] Client-Server LambdaRAM Configuration ··· 6

[그림 2-3] Hierarchical cluster LambdaRAM configuration ··· 7

[그림 2-4] LambdaRAM Architecture] ··· 8

(5)

소스 차례

(6)
(7)
(8)

3

-16개의 디스플레이 노드 모두에 렌더링의 결과를 보내 주어야 한다.

[그림 1-2 GLOVE Display Nodes]

(9)

4 -Number of

vertices Cache Ascii Binary

35360 X 0.54 0.219 O 0.16 0.016 1208064 X 22.84 15.345 O 6.408 1.318 [표 1-1 Blade data loading time in sec]

Number of

vertices Cache Ascii Binary

1070124 X 138.79 10.31 O 134.13 3.31 218049216 X 1591.41 129.91 O 1533.59 48.54 [표 1-2 Field data loading time in sec]

세 번째로, 16개의 노드가 렌더링 노드에 렌더링을 요청하는 과정을 보자. [그림 1-3]은 그 과정을 보여 준다. 만일 16개의 노드가 모두 렌더링을 요청할 경우, 동일한 요청이 16번 보내지며, 이에 대한 결과도 16번 전송되어야 한다. 또한, 렌더링 노드들 사이에도 렌더링 할 데이터의 공유가 이루어져야 한다. 결과는 결 국 한 노드에서 통합되어 전송되어야 한다. 설계가 잘 이루어져 한 번의 요청으 로 16번의 결과를 전송한다고 할지라도 데이터의 공유는 이루어져야 한다. 데이 터 공유 문제뿐 아니라 계산을 위해 한 번에 할당할 수 있는 메모리도 로컬 메 모리 영역으로는 부족하다.

(10)
(11)

6

-[그림 2-1 LambdaRAM encompassing a single cluster]

[그림 2-2 Client-Server LambdaRAM Configuration]

(12)

7 --server 모드로 LambdaRAM을 구축함으로써, 총 1.2TB의 캐쉬 메모리를 확보 하였다. Hierarchical 모드는 다양한 데이터 집합과 응용을 수용하는 구조로 대용량 데이 터 가시화 시스템이 여러 응용을 수용할 경우 유용한 구조이다. [그림 3-3]은 Hierarchical Cluster 모드를 보여 준다.

[그림 2-3 Hierarchical cluster LambdaRAM configuration]

나. Functional Architecture

(13)

8

-[그림 2-4 LambdaRAM Architecture]

Interposer layer는 이미 구현된 응용이 소스의 변경 없이 LambdaRAM을 사용 할 수 있는 기능을 제공하는 layer이다. 데이터를 접근하는 응용의 call을 가로채 LambdaRAM에 관한 접근이면, LambdaRAM API를 부른다.

(14)

9

-raction Layer는 실제 하드디스크 입출력에 관련된 기능을 지원한다.

다. LambdaRAM의 성능

캐쉬 메모리를 확장했을 경우 어느 정도의 성능향상을 기대할 수 있을까? [그림 3-5]의 그래프는 LambdaRAM 사용 시 응용의 계산 시간을 보여 준다.

[그림 2-5 Wind shear computation for the Atlantic basin over Local Area Network]

결과는 4대의 LambdaRAM 서버를 사용할 경우 20배의 속도 향상을 있다는 것 을 보여 준다. 네 대 서버 이상일 경우 병목현상은 client node의 1Gbps 네트워 크 성능의 제약 때문에 발생한다. LambdaRAM 서버의 성능 비교는 100대 이상의 서버일 경우에 대해 기술된 바 가 없다. 대용량 데이터 가시화 시스템의 경우 LambdaRAM 서버는 100 노드 이 상이 될 것이며, 이를 위한 네트워크의 성능도 10Gbp가 될 것이다. 이를 위한 성능이 그만큼 향상 될 것인지는 테스트를 거쳐야 할 것이다. 또한 가시화 시스 템은 한 번 읽은 데이터에 대한 접근 보다는 매번 새로이 생성된 데이터에 대한 접근이 더 많을 것이다. 따라서, LambdaRAM은 현재 버전의 경우, 대용량 데이 터 가시화 시스템에서 16대의 디스플레이 노드가 하나의 데이터 파일에 접근할 때 캐쉬 메모리의 역할로 로딩 타임을 줄이는데 사용 가능하다.

라. LambdaRAM을 사용한 간단한 Parallel Programing

(15)

10

-[소스 1-1 Parallel MPI Program using LambdaRAM API]

(16)

11

-있도록 한 노드의 메모리를 전체 노드의 메모리로 확장해 주는 분산 공유 메모 리 기술들에 대해 알아본다.

4. Distributed Shared Memory

Distributed Shared Memory(DSM)은 각각의 클러스터에 존재하는 제한된 로컬 메모리를 하나의 공유 메모리처럼 접근할 수 있게 해 주는 하드웨어적 소프트웨 어적 구현을 총칭한다. 하드웨어적 구현은 특별한 시스템을 요하므로 본 문서의 범위에서 다루지 않는다. 소프트웨어적 DSM 시스템은 오퍼레이팅 시스템에 의해 혹은 프로그래밍 라이브 러리에 의해 구현된다. 오퍼레이팅 시스템에서 구현된 DMS은 일반적으로 Virtua l Memory의 확장으로 생각할 수 있으며, 사용자에게 완전히 숨겨진 형태로 tran sparent 하다. 반면, 프로그래밍 라이브러리로 구현된 DSM은 개발자가 프로그램 을 달리 해야 한다. 그러나, 이들 시스템은 다른 시스템으로의 이식성이 높다. 소 프트웨어적 DSM은 공유 메모리 영역을 관리하기 위해 서로 다른 방법을 사용한 다. 오퍼레이팅 시스템이 메모리를 다루는 방법인 페이지 단위의 접근은 고정된 크기의 페이지로 공유 메모리를 관리한다. 반면 오브젝트에 기반을 둔 접근 방법 은 공유할 오브젝트 단위로 공유 메모리를 관리하므로, 관리 대상의 크기는 오 브젝트 크기에 따라 달라질 수 있다. 대용량 데이터 가시화 시스템은 대부분 클러스터로 구성된다. 이들 클러스터 시 스템들은 환경에 맞는 오퍼레이팅 시스템을 설치하여 운영한다. 본 문서에서는 대용량 가시화를 위해 일반적으로 사용하고 있는 Unix System의 공유 메모리 개념을 차용하는 분산 공유 메모리 시스템들에 대해서 알아본다.

가. Global Address Space

분산 공유 메모리는 computer science에서 Distributed Global Address Space(D GPS)로도 불린다. 로컬 메모리를 관리하기 위해 오퍼레이팅 시스템에서 사용하 는 주소공간은 프로그래밍 언어와 컴파일러에 의존적이다. 그러나, 분산 공유 메 모리시스템에서의 주소공간은 클러스터 노드 전체 혹은 다른 클러스터에 있는 노드들도 포함한 주소 공간이 존재해야 해야 한다. 대부분의 DSM은 이러한 Glo bal Address Space를 관리하는 방안을 가지고 있다.

(17)

12

-DIPC는 리눅스 환경 하에 분산 프로그래밍을 위해 IPC를 제공하는 유일한 소프 트웨어적 솔루션이다. DIPC는 두 개의 파트로 구성된다. 첫 번째는 Unix Syste m V IPC 메카니즘 (shred memory, queue, semaphore)에 대한 접근을 가로채 는 커널 파트이고 두 번째는 분산 시스템의 관리와 네트워크 전송에 대한 책임 을 지고 있는 데몬 프로세스이다. DIPC의 DSM은 데이터 일관성을 위해 데이터 를 읽을 때, 가장 최근에 쓴 값을 읽는다.

다. SCASH

SCASH는 communication layer 로 MPI를 사용한 소프트웨어적 분산 메모리 공 유 시스템이다. 대부분의 존재하는 소프트웨어적 DSM 시스템들은 보통 commun ication layer로 이더넷 상에 TCP나 UDP 기반으로 시스템 전용의 프로토콜을 사용한다. SCASH 는 하나의 thread 가 MPI를 사용한 원격 메모리 통신을 지원 한다. 페이지 단위로 관리하며, 페이지 폴트가 일어날 때까지 페이지 전송은 일 어나지 않으나, prefetch를 사용하여 페이지 전송 지연을 줄인다.

라. TreadMarks

(18)

13 -크의 특성을 고려해야 한다. 오퍼레이팅 시스템이 DSM이 요구하는 커널을 지원 하지 않을 수도 있고, 10Gbps 네트워크 카드가 LambdaRAM이 사용하는 UDP를 사용할 경우 치명적인 성능저하를 가져 올 수도 있다. 따라서, 대용량 데이터 가시화 시스템을 위한 분산 메모리 기술들은CI 적용하고 자 하는 가시화 시스템에 맞게 선택되어야 하며, 환경에 맞는 수정과 확장 개발 이 필요할 수도 있다.

6. 참고문헌

[1] E. A. Anderson and J. M. Neefe, "An exploration of network RAM", Tec h.Rep. UCB/CSD-98-1000, Dec.9, 1994

[2] Vishwanath, V., "LambdaRAM: A High-Performance, Multi-Dimensional, Distributed Cache Over Ultra-High Speed Networks", Dec.15, 2008.

[3] General Parallel File System, IBM Corporation,

http://www-03.ibm.com/systems/cluster/software/gpfs/index.html

[4] M.J.Feeley, W.E.Morgan, F.H.Pighin, A.R.Karlin, H.M.Levy, and C.A.Tekk ath, "Implementing global memory management in a workstation cluster", ser. Operating System Review, vol.29(50), Dec.3-6, 1995

[5] Yoshinori Ojima, Mitsuhisa Sato, Taisuke Boku and Daisuke Takahashi, "Design of a Software Distibuted Shared Memory System using an MPI com munication layer", Proceedings of the 8th International Symposium on Paralle l Architectures, Algorithms and Networks, 2005.

참조

관련 문서

한국인 심전도 진단 데이터 기상관측 데이터. 항공우주소재 물성 데이터

특히 대용량 데이터에 대해서는 개개의 관찰치를 요약하는 것보다는 전체를 유사한 관 찰치들의 군집(cluster)으로 구분하여, 복잡한 전체보다는 그들을 잘 대표하는

최상의 데이터 센터 구축을 위한 데이터 인프라 혁신 전략..

Market 참여자는 데이터 거래를 위한 AMO Blockchain Client 또는 AMO Wallet 3 으로 블록체인과 연결된다.. 자동차 사용자가 생성한 CAR DATA와 서비스

The DBCA and the Oracle Net Configuration Assistant (NETCA) also accurately configure your Real Application Clusters environment for various Oracle high availability

이 연구에서는 농업부문 데이터 경제 체계 구축 활성화를 위해 농업부문 데이 터의 전주기 활용 체계를 구축하기 위한 데이터 활용 현황과 문제점을 진단하고,

Based on the initial refined division of the network into clusters by k-means++, nodes of each network cluster can negotiate internally to select the head node of each

거의 변화가 없음을 알 수 있다.Figure7에는 세가지 분사기 길이에 대해서 계산된 1T 모드 근처에서의 음향 응답을 나타내었다.이로부터 분사기 길이의 변화에