50 likes | 180 Views
This document outlines the structure and memory management of the MIBPM Turn Data within a front-end data system. It details how data is organized per BPM measurement, including attributes such as position, intensity, and status for both turn data and measurement entries. Each buffer is dynamically assigned based on the requirements of different machine states, optimizing memory usage by pulling from a common pool. The document includes statistics on memory allocation, block sizes, and free memory, addressing the efficiency of dynamic versus static buffer assignment.
E N D
Front-End Data Structures • Data per BPM (24 B): MIBPMTurnData • Position • Intensity • I/Q • Status • Data per Measurement (~1 kB): MIBPMDataEntry • Timestamp • Status • Data source • Machine state (cycle) • Particle type (proton/pbar) • Filter setting (53MHz/2.5MHz) • 40 MIBPMTurnData
Flash turn-by-turn buffers can be assigned dynamically to states • States use flash turn-by-turn buffers that are actually used. • Buffers are available from a common pool. • Remaining buffers are statically assigned
Memory Usage fccts0:mibpm> memShow status bytes blocks avg block max block ------ ---------- --------- ---------- ---------- current free 148814528 324 459304 131984608 alloc 351940192 315326 1116 - For 7 flash turn-by-turn per state: fccts0:mibpm> memShow status bytes blocks avg block max block ------ ---------- --------- ---------- ---------- current free 96988672 325 298426 80158560 alloc 403766048 366816 1100 -