• 검색 결과가 없습니다.

대용량 데이터 가시화를 위한 애니메이션 캐쉬 알고리즘 설계 및 구현

N/A
N/A
Protected

Academic year: 2021

Share "대용량 데이터 가시화를 위한 애니메이션 캐쉬 알고리즘 설계 및 구현"

Copied!
30
0
0

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

전체 글

(1)

ISBN 978-89-6211-698-4

대용량 데이터 가시화를 위한 애니메이션 캐

쉬 알고리즘 설계 및 구현

(Animation cache algorithm design and implementation for massive

data visualization)

김 민 아 (petimina

@kisti.re.kr)

한 국 과 학 기 술 정 보 연 구 원

(2)

목차

1. 개 요 ··· 1

2. Animation Cache를 위한 GIP 프로토콜 ··· 1

3. 응용 프로그램에서의 애니메이션 관리 ··· 2

4. Shared Memory Cache DB ··· 3

(3)

그림 차례

[그림 1] GIP animation sequence ··· 2

[그림 2] 사용자 인터페이스와 애니메이션 리스트 ··· 3

[그림 3] Animation cache table ··· 4

[그림 4] 애니메이션을 위한 class collaboration diagram ··· 5

[그림 5] ProcessAnimation 순서도 ··· 6

[그림 6] Animation Start ··· 10

[그림 7] Animation next ··· 11

(4)

표 차례

(5)

13

-VISE는 병렬 렌더링을 지원하지 않는다. 동일한 구조인 paraview 에서 대용량

데이터 가시화를 위한 애니메이션을 수행한 결과는 GLOVE의 성능이 paraview

의 paraview 보다 125배 빠른 것을 보여 준다.

Tool

Parallel

COVISE

Paraview

GLOVE

COVISE:Paraview:GLOVE

Probe by

Plane (sec)

single

36

11.93

20.04

1.8 : 0.59 : 1

multi

N/A

1.79

1.80

∞ : 0.99 : 1

iso-surface

(sec)

single

47

14.24

18.21

2.58: 0.78 : 1

multi

N/A

10.11

2.12

∞ : 4.76 : 1

iso-surface

animation(sec)

multi

N/A

274

2.12

∞ :129.2 : 1

[표 1] 1.2TB, 90 time step 로터 시뮬레이션 데이터 성능 측정

8. 참고문헌

[1] Andy Cedilnik, Berk Geveci, "Remote Large Data Visualization in ParaVie

w Framework", Eurographics Symposium on Parallel Graphics and Visualizatio

n, 2006

[2] COVISE, http://www.hlrs.de/covise

[3] S.Byron, "Virtual Reality in Scientific Visualization", Communications of t

he ACM, 39(5):62-71, 1996.

[4] Toshiyuki Kimura, "Asynchronous Communication Models for JAX-RPC

2.0", NTT Data Corperation, 2003

(6)

0.01

(7)
(8)
(9)
(10)

GLOVE Hierar hi al Index

1.1 GLOVE Class Hierar hy

Thisinheritan elistissortedroughly,but not ompletely,alphabeti ally: gipTransa tionDB . . . ??

(11)
(12)

GLOVE Class Index

2.1 GLOVE Class List

Herearethe lasses,stru ts, unionsandinterfa eswithbriefdes riptions: gipTransa tionDB (GipTransa tionDB is a lass for a table

with stati sizere ords on sharedmemory) . . . ?? gipVariableTrDB(GipVariableTrDBisa lassforatablewith

variable sizere ords onshared memory) . . . ?? glvSemaphore (GlvSemaphore lass is a lass for supporting

linuxsemaphore ) . . . ?? glvShmQueue

<

T

>

(GlvShmQueue lass is a template lass

(13)
(14)

GLOVE Class Do umentation

3.1 gipTransa tionDB Class Referen e

gipTransa tionDB (p.?? ) is a lass for a table with stati size re ords on sharedmemory.

#in lude

<

gipTransa tionDB.h

>

Inheritan ediagramforgipTransa tionDB:

gipTransactionDB

gipVariableTrDB

CollaborationdiagramforgipTransa tionDB:

gipTransactionDB

glvShmQueue< T >

mFreeTableIndex

glvSemaphore

mTableSem

mQSem

Publi Member Fun tions

(15)

Destru tor.

ˆ intCreateTable( har

tableName,unsignedinttransa tionSize, int maxTrNum,intkeyPos, intkeyLen)

ˆ int Insert (void

keyValue, int keyLen, void

tr, unsigned int trLen)

ˆ int Insert (void

keyValue, void

tr,unsigned inttrLen) ˆ gipTrans

GetTransa tion (void

keyValue, intkeyLen) ˆ gipTrans

GetTransa tionByIndex (int index)

ˆ gipTrans

GetUnlo kTransa tion (void

keyValue, int keyLen) ˆ gipTrans

GetTransa tion (void

keyValue)

ˆ int Delete (void

keyValue, intkeyLen) ˆ int Delete (void

keyValue)

ˆ int DeleteByIndex (intindex)

3.1.1 Detailed Des ription

gipTransa tionDB (p.??) is a lass for a table with stati size re ords on sharedmemory.

3.1.2 Constru tor & Destru tor Do umentation 3.1.2.1 gipTransa tionDB::gipTransa tionDB(key_t shmKey) Constru tor

Parameters:

shmKey meanssharedmemorykeyforatable

3.1.3 Member Fun tion Do umentation

3.1.3.1 int gipTransa tionDB::CreateTable ( har

tableName, unsigned int transa tionSize, int maxTrNum, intkeyPos, intkeyLen)

Createamemorydbtable Parameters:

tableName,transa tionSize,maxTrNum,keyPos,keyLen Returns:

su essorfail

(16)

3.1.3.2 int gipTransa tionDB::Delete (void

keyValue)

deleteatransa tionre ordforankeyvaluewhenthekeypositionand thekey lengthare alreadyknown.

Parameters: keyValue Returns:

su essorfail

ReimplementedingipVariableTrDBp. ( lassgipVariableTrDB

c

0bf 6a5de5c62dd25256b4db41e52b73

??

)

3.1.3.3 int gipTransa tionDB::Delete (void

keyValue, int keyLen) delete a transa tion re ord for an keyvalue when the keyposition is already known.

Parameters:

keyValue,keyLen Returns:

su essorfail

ReimplementedingipVariableTrDBp. ( lassgipVariableTrDB

2

7ec4eca4a3ef 3a95ac62658e0f 9f 90d

??

)

3.1.3.4 int gipTransa tionDB::DeleteByIndex (intindex) deleteatransa tion re ordbythetableindex

Parameters: index Returns:

su essorfail

ReimplementedingipVariableTrDBp. ( lassgipVariableTrDB

0

44407e1ba67553634d7e5e0971d6f 5d

??

)

3.1.3.5 gipTrans

gipTransa tionDB::GetTransa tion (void

keyValue)

(17)

Returns:

atransa tion re orddata

ReimplementedingipVariableTrDBp. ( lassgipVariableTrDB

f

b3ccb94c64eaddf 62f f 85f c6e2c9746

??

)

3.1.3.6 gipTrans

gipTransa tionDB::GetTransa tion (void

keyValue, intkeyLen)

getatransa tion re ordforakey Parameters:

keyValue,keyLen Returns:

atransa tion re orddata

ReimplementedingipVariableTrDBp. ( lassgipVariableTrDB

9

1d29b5b6d1c219c2c969f f279c15f 90

??

)

3.1.3.7 gipTrans

gipTransa tionDB::GetTransa tionByIndex (int index)

getatransa tion re ordforanindex Parameters:

index Returns:

atransa tion re orddata

3.1.3.8 gipTrans

gipTransa tionDB::GetUnlo kTransa tion (void

keyValue, intkeyLen)

getatransa tion re ordforanindexwithoutlo king Parameters:

keyValue,keyLen Returns:

atransa tion re orddata

(18)

3.1.3.9 int gipTransa tionDB::Insert(void

keyValue, void

tr, unsigned int trLen)

insertare ordforatransa tionwhen keypositionand keylengthare already known.

Parameters:

keyValue,tr,trLen Returns:

su essorfail

ReimplementedingipVariableTrDBp. ( lassgipVariableTrDB

0

e76208e6238c0ad732872164af ab6a0

??

)

3.1.3.10 int gipTransa tionDB::Insert (void

keyValue, intkeyLen, void

tr,unsigned int trLen)

insertare ordforatransa tion Parameters:

keyValue,keyLen,tr,trLen Returns:

su essorfail

ReimplementedingipVariableTrDBp. ( lassgipVariableTrDB

4

cf0d64a6ef 2da47832beaa6a32f 5de7

??

)

Thedo umentationforthis lasswasgenerated fromthefollowingle:

(19)

3.2 gipVariableTrDB Class Referen e

gipVariableTrDB (p.?? ) is a lass for a table with variable size re ords on sharedmemory.

#in lude

<

gipVariableTrDB.h

>

Inheritan ediagramforgipVariableTrDB:

gipVariableTrDB

gipTransactionDB

CollaborationdiagramforgipVariableTrDB:

gipVariableTrDB

gipTransactionDB

glvShmQueue< T >

mAllocIndexList

mFreeTableIndex

glvSemaphore

mTableSem

mQSem

Publi Member Fun tions

ˆ gipVariableTrDB (key_tshmKey) ˆ

gipVariableTrDB ()

Destru tor.

ˆ intCreateTable( har

tableName,unsignedinttransa tionSize, int maxTrNum,intkeyPos, intkeyLen)

ˆ int Insert (void

keyValue, int keyLen, void

tr, unsigned int trLen)

ˆ int Insert (void

keyValue, void

tr,unsigned inttrLen) ˆ gipTrans

GetTransa tion (void

keyValue, intkeyLen)

ˆ gipTrans

GetTransa tion(void

keyValue, intkeyLen, int key-Index)

ˆ gipTrans

GetUnlo kTransa tion (void

keyValue, int keyLen) ˆ gipTrans

GetTransa tion (void

keyValue)

(20)

ˆ intDelete (void

keyValue, intkeyLen, intkeyIndex) ˆ intDelete (void

keyValue)

ˆ intDeleteByIndex (intindex)

ˆ intFreeIndexInTable(stru t gipTrAllo IndexList

indexList) ˆ voidPrint()

print table ontents ˆ voidClear ()

delete all datain thememory database table

3.2.1 Detailed Des ription

gipVariableTrDB (p.??) is a lass for atable with variable size re ords on sharedmemory.

3.2.2 Constru tor & Destru tor Do umentation 3.2.2.1 gipVariableTrDB::gipVariableTrDB (key_t shmKey)

[inline℄ Constru tor

Parameters: shmKey

3.2.3 Member Fun tion Do umentation

3.2.3.1 int gipVariableTrDB::CreateTable ( har

tableName, unsigned inttransa tionSize, int maxTrNum, int keyPos, int keyLen)

CreateamemorydbtablewithgipTransa tionDB(p.??)CreateTable Parameters:

tableName,transa tionSize,maxTrNum,keyPos,keyLen Returns:

su essorfail

(21)

3.2.3.2 intgipVariableTrDB::Delete(void

keyValue)

deleteatransa tionre ordforankeyvaluewhenthekeyposition andthekey lengtharealreadyknown.

Parameters: keyValue Returns:

su essorfail

Reimplemented from gipTransa tionDB p. ( lassgipTransa tionDB

a

77741dc4674b1cc0db4328253952e44

??

)

3.2.3.3 intgipVariableTrDB::Delete(void

keyValue, intkeyLen, intkeyIndex)

deleteatransa tionre ordforankeyvaluewhenthekeyposition andthekey lengtharealreadyknown.

Parameters:

keyValue,keyLen,keyIndex Returns:

su essorfail

3.2.3.4 intgipVariableTrDB::Delete(void

keyValue, intkeyLen) delete a transa tion re ord for an keyvalue when the key position is already known.

Parameters:

keyValue,keyLen Returns:

su essorfail

Reimplemented from gipTransa tionDB p. ( lassgipTransa tionDB

0

b0a3f 86b04ac6b2c48635e8c75ed943

??

)

(22)

Parameters: index Returns:

su essorfail

Reimplemented from gipTransa tionDB p. ( lassgipTransa tionDB

d

c6c971ebdb9098c912564e62cb76d9c

??

)

3.2.3.6 int gipVariableTrDB::FreeIndexInTable (stru t gipTrAllo IndexList

indexList)

freeaindexin theallo atedindexlist. Parameters:

indexList Returns:

su essorfail

3.2.3.7 gipTrans

gipVariableTrDB::GetTransa tion (void

keyValue)

getatransa tionre ordforankeyvaluewhenkeyposition andkeylengthare alreadyknown.

Parameters: keyValue Returns:

atransa tionre orddata

Reimplemented from gipTransa tionDB p. ( lassgipTransa tionDB

c

d7099cd781586051bd2681942c7a2b5

??

)

3.2.3.8 gipTrans

gipVariableTrDB::GetTransa tion (void

keyValue, intkeyLen, intkeyIndex)

getatransa tionre ordforanindex Parameters:

keyValue,keyLen,keyIndex Returns:

(23)

3.2.3.9 gipTrans

gipVariableTrDB::GetTransa tion (void

keyValue, intkeyLen)

getatransa tion re ordforakey Parameters:

keyValue,keyLen Returns:

atransa tion re orddata

Reimplemented from gipTransa tionDB p. ( lassgipTransa tionDB

4

4f f 41ba884f 5e0ce440ac188a5d3ca1

??

)

3.2.3.10 gipTrans

gipVariableTrDB::GetUnlo kTransa tion(void

keyValue, int keyLen)

getatransa tion re ordforanindexwithoutlo king Parameters:

keyValue,keyLen Returns:

atransa tion re orddata

Reimplemented from gipTransa tionDB p. ( lassgipTransa tionDB

6

a38756717493af 075b83dab405ce346

??

)

3.2.3.11 int gipVariableTrDB::Insert(void

keyValue, void

tr, unsigned int trLen)

insertare ordforatransa tion whenkeyposition andkeylength arealready known.

Parameters:

keyValue,tr,trLen Returns:

su essorfail

(24)

3.2.3.12 int gipVariableTrDB::Insert (void

keyValue, int keyLen, void

tr,unsigned int trLen)

insertare ordforatransa tion Parameters:

keyValue,keyLen,tr,trLen Returns:

su essorfail

Reimplemented from gipTransa tionDB p. ( lassgipTransa tionDB

d

4e9e25c07301793159c7e8313f 33ebb

??

)

(25)

3.3 glvSemaphore Class Referen e

glvSemaphore(p.??) lassisa lassforsupporting linuxsemaphore #in lude

<

glvSemaphore.h

>

Publi Member Fun tions ˆ glvSemaphore ()

Constru tor. ˆ

glvSemaphore ()

Destru tor.

ˆ int Create ( har

semName) ˆ int Lo k ()

lo kthe semaphore ˆ int Release()

release thesemaphore ˆ int Close()

losethe semaphore

3.3.1 Detailed Des ription

glvSemaphore(p.??) lassisa lassforsupporting linuxsemaphore

3.3.2 Member Fun tion Do umentation 3.3.2.1 intglvSemaphore::Create ( har

semName) Createanamedsemaphore

Parameters: semName Returns:

su essorfail

(26)

3.4glvShmQueue

<

T

>

ClassTemplateReferen e 17

3.4 glvShmQueue

<

T

>

Class Template Refer-en e

glvShmQueue(p.??) lassisatemplate lassforaqueueonsharedmemory thatpro esses anshare.

#in lude

<

glvShmQueue.h

>

CollaborationdiagramforglvShmQueue

<

T

>

:

glvShmQueue< T >

glvSemaphore

mQSem

Publi Member Fun tions ˆ glvShmQueue()

Constru tor. ˆ

glvShmQueue()

Destru tor.

ˆ intCreate (key_tshmKey, har

semName,int qSize) ˆ intInsert (Titem)

ˆ voidPrint()

Print all items in thequeue. ˆ intInsertBa kFreeList (intindex) ˆ intGetFrontFreeList ()

ˆ intInsert (T

itemPtr)

ˆ intInsert (T

itemPtr,intnum) ˆ intDelete (T

item)

ˆ voidDelete ()

delete a itemfromthe front ofthe queue ˆ intGetFront(T

item)

ˆ intGetFrontAndDelete(T

item,int num)

3.4.1 Detailed Des ription

template

<

typename T

>

lass glvShmQueue

<

T

>

(27)

3.4.2 Member Fun tion Do umentation

3.4.2.1 template

<

typename T

>

int glvShmQueue

<

T

>

::Create (key_t shmKey, har

semName, int qSize) [inline℄ Createasharedmemoryqueue

Parameters:

shmKey,semName,qSize Returns:

su essorfail

3.4.2.2 template

<

typename T

>

intglvShmQueue

<

T

>

::Delete(T

item) [inline℄ deleteaitemfromthequeue Parameters:

item : aitempointer Returns:

su essorfail

3.4.2.3 template

<

typename T

>

int glvShmQueue

<

T

>

::GetFront (T

item) [inline℄

Getafrontitemfromthequeuewithoutdeletion. Parameters:

item pointertosaveagettingitem

3.4.2.4 template

<

typename T

>

int glvShmQueue

<

T

>

::GetFrontAndDelete (T

item,intnum) [inline℄

Getfrontitemsfromthequeuewithdeletion. Parameters:

(28)

3.4glvShmQueue

<

T

>

ClassTemplateReferen e 19

3.4.2.5 template

<

typename T

>

int glvShmQueue

<

T

>

::GetFrontFreeList () [inline℄

Gettheindexofanitemfromthefrontofthequeue Returns:

theindex

3.4.2.6 template

<

typename T

>

intglvShmQueue

<

T

>

::Insert (T

itemPtr, int num) [inline℄ Insertalistofitemsintothequeue

Parameters:

itemPtr,num alistofitemsandthenumberofitems Returns:

su essorfail

3.4.2.7 template

<

typename T

>

intglvShmQueue

<

T

>

::Insert (T

itemPtr) [inline℄ Insertalistofitemsintothequeue Parameters:

itemPtr alistofitems Returns:

su essorfail

3.4.2.8 template

<

typename T

>

intglvShmQueue

<

T

>

::Insert (T item) [inline℄

Insertaitemintothequeue Parameters:

item anitem Returns:

(29)

3.4.2.9 template

<

typename T

>

int glvShmQueue

<

T

>

::InsertBa kFreeList (int index) [inline℄ Inserttheindexofanitemintotheba kofthequeue Parameters:

index Returns:

su essorfail

(30)

3.5 trDBErrCode Class Referen e

trDBErrCode(p.??)isa lassfordealingwitherror odesforsharedmemory DB.

#in lude

<

trDBError.h

>

3.5.1 Detailed Des ription

trDBErrCode(p.??)isa lassfordealingwitherror odesforsharedmemory DB.

참조

관련 문서

약국은 당초 수집 목적과 합리적으로 관련된 범위에서 정보주체에게 불이익이 발생하는지 여부, 암호화 등 안전성 확보에 필요한 조치를 하였는지 여부 등을

(Taekwondo, Weight Lifting Players) (90 min × 6 days/week) Warming

15) 세광음악출판사

[r]

자석 팽이는 볼록한 두 부분에는 고리 자석이 들어 있고, 받침대에는 팽이의 고 리 자석 위치와 일치하는 부분에 삼각형 모양의 자석이 네 개 들어 있다.. 그리고

회원국의 영토밖에서 다른 회원국의 , 영토내에서 회원국의 서비스 소비자에게

판단되는 경우에는 즉시 의사의 의료지도에 따를 것 다만 통신장애 등으로 인해 의사의 의료지도가 불.. 사람 외국에 있는 교육기관에서

[r]