110 likes | 126 Views
CMIB development. Bruce Rowen, NRAO. Some numbers. Still using 2.6.13 kernel Possible squeeze on station board CMIB resources Current CMIB is EOL, replacement is about 4x “better” 256MB memory now about $30US 125k lines of c code. Drivers. FPGA programming
E N D
CMIB development Bruce Rowen, NRAO
Some numbers • Still using 2.6.13 kernel • Possible squeeze on station board CMIB resources • Current CMIB is EOL, replacement is about 4x “better” • 256MB memory now about $30US • 125k lines of c code
Drivers • FPGA programming • Installed on both prototypes, loads based on simple script, automatic on boot. • Sysmon system monitoring • Collects A/D conversion data and formats into temps/voltages based on simple configuration script. • Added correlator voltage monitoring • Need to integrate with a “data task” to bundle and sample for monitoring. • Add correlator powerup control and FPGA power control modes. • MCB • Provide direct-wired access to hardware • IPC (Inter-process communication) • Provides basic data exchange ‘pipes’ and virtual device access for ancillary data (i.e. CRC collection, model exchange, etc.) • Added to allow for more device minor numbers and individual Filter device minors for delays and LUTs. New!
Baseline Board MAHsToDos • Recirculator • Need features for HM receivers • Correlator • LTA • Need to test accumulator R/W (needed?) • Need to provide for sequenced correlator chip powerup (sysmon ?) • Ethernet • Frame capture (first dump) needs fixing • Fanout/config • Needs MAH • Supervisor • Finish MAH, add features.
Station Board MAHsToDos • Input – add clock edge selection • Delay – test buffer R/W, adapt for DMA • WBC – • Output – radar data capture UI • Timing – HES generation • VSI – test • Supervisor – add system monitoring, task watchcdog control
Station Board Data Tasks • Wideband state count monitoring • Widband Auto Correlation • Up to 32 product sets • CRC monitoring • Power metering • RFI metering • Filter clip metering • Filter tone extraction • Need to manage models • Requantizer monitoring • Time interval count monitoring • Need to finish up.
Station Board ‘top’ output • 20:40:57 up 5:15, 2 users, load average: 0.07, 0.02, 0.00 • 87 processes: 86 sleeping, 1 running, 0 zombie, 0 stopped • CPU states: 3.2% user, 2.6% system, 0.0% nice, 94.2% idle • Mem: 125800K total, 117348K used, 8452K free, 0K buffers • Swap: 0K total, 0K used, 0K free, 75936K cached • PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND • 5725 root 17 0 1956 1020 768 R 4.5 0.8 0:01 top • 1242 root 16 0 1620 596 376 S 1.1 0.4 1:10 crcMonitor • 5710 root 16 0 1556 696 564 S 0.5 0.5 0:00 in.telnetd • 1246 root 16 0 1416 444 368 S 0.3 0.3 0:48 power • 1247 root 16 0 1416 448 368 S 0.3 0.3 0:51 clip • 1248 root 16 0 1412 436 364 S 0.1 0.3 0:20 rfi • 1 root 16 0 528 228 184 S 0.0 0.1 0:01 init • 2 root 39 19 0 0 0 SWN 0.0 0.0 0:00 ksoftirqd/0 • 3 root 10 -5 0 0 0 SW< 0.0 0.0 0:01 events/0 • 4 root 10 -5 0 0 0 SW< 0.0 0.0 0:00 khelper • 5 root 10 -5 0 0 0 SW< 0.0 0.0 0:00 kthread • 7 root 20 -5 0 0 0 SW< 0.0 0.0 0:00 kblockd/0 • 52 root 20 0 0 0 0 SW 0.0 0.0 0:00 pdflush • 53 root 15 0 0 0 0 SW 0.0 0.0 0:00 pdflush • 54 root 25 0 0 0 0 SW 0.0 0.0 0:00 kswapd0 • 55 root 18 -5 0 0 0 SW< 0.0 0.0 0:00 aio/0 • 639 root 10 -5 0 0 0 SW< 0.0 0.0 0:00 kseriod • 703 root 10 -5 0 0 0 SW< 0.0 0.0 0:03 rpciod/0 • 797 rpc 16 0 1520 616 512 S 0.0 0.4 0:00 rpc.portmap • 799 root 18 0 0 0 0 SW 0.0 0.0 0:00 lockd • 804 root 16 0 1928 728 616 S 0.0 0.5 0:13 syslogd • 807 root 16 0 1372 468 392 S 0.0 0.3 0:00 klogd
10 Sec Buffer 10 Sec Buffer 10 Sec Buffer 10 Sec Buffer 10 Sec Buffer 10 Sec Buffer Delay model creationuser task routine(s) Poly coeffs (XML) Incoming delay model User Delay Task File system layer … Delay 0 Delay 1 SB 0 SB 1 SB 34 SB 35
Delay Model Buffers (from user task)delay module and filter chip buffer parsing Buffer transitions to Next “freshest” timestamp 10 Seconds In ‘native’ format Model buffer first & last timestamps No new buffer or model Will cause last model to loop