13.07.2015 Views

CashFlow, A Visualization Framework for 3D Flow - Studierstube ...

CashFlow, A Visualization Framework for 3D Flow - Studierstube ...

CashFlow, A Visualization Framework for 3D Flow - Studierstube ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Software Design3.7. DataAccess Node3.7.2 Drawback of the Virtual ArrayThe overhead using the virtual array consists of:• Managing the DataAccess and MultiData nodes and the necessary DataAccessElement and MultiData Element. During each scene graph traversal eachDataAccess node and each MultiData node has to register itself to its Element(details in section 4.1 on page 68).• Each DataConsumer needs to query <strong>for</strong> the DataAccess nodes be<strong>for</strong>e being ableto access the data itself. This is a small overhead, as long as the number ofDataAccess nodes is comparable small to the size of the data. In case of a largenumber of DataAccess nodes addressing just very little amount of data, this couldcause a significant overhead.• Additional computation using the iteratorsdepending on the type of virtual array being in use (see table 3.1 page 58).type of virtual array size in attributesmemory storedSingle Block Virtual Array O( 1 ) 3Multiple Block Virtual Array O( 1 ) 5Random Virtual Array O( n ) n+3Table 3.1: Virtual array strategies: Comparisons of memory overhead and CPU load <strong>for</strong> three differentstrategies.Table 3.1 gives an overview on the overhead using the virtual array. Each type ofvirtual array has certain memory requirements. While single block and multiple blockvirtual arrays only require constant complexity per allocated virtual memory the sizeof memory needed <strong>for</strong> a random virtual array depends on the size of the virtual arraywhich is linear complexity. All virtual arrays store two integers, offset and length, anda string used as key <strong>for</strong> linking to the real data array. A single block virtual arrayuses only the three previously mentioned attributes. A multiple block virtual arrayadditionally uses two integers, increment and repeat, to define the size of a block andhow many successive items per block should be used inside the virtual memory. Finallythe random virtual array uses the three default attributes and a look–up table of the sizelength to store one real index <strong>for</strong> each virtual index.58

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!