Correction to earlier claim : tcpborphserver is written in C. The -b switch is specifying BOF files. These .bin and .dtbo looks like board-specific bitstreams. (not Beacon Object Files)
:~$ ps aux | grep tcp root 497 1.4 0.0 5728 3032 ? Ss 19:03 1:10 /bin/tcpborphserver3 -b /lib/firmware casper 872 0.0 0.0 5832 640 ttyPS0 S+ 20:27 0:00 grep --color=auto tcp ========= :~$ ls -lathr /lib/firmware/ total 33M drwxr-xr-x. 47 root root 4.0K Apr 27 2021 .. -rwx------ 1 root root 2.0K Jul 27 2021 250M_PL_125M_SYSREF_10M.txt -rwx------ 1 root root 2.0K Dec 24 15:48 extn250M_PL_125M_SYSREF_10M.txt drwxr-xr-x. 2 root root 4.0K Dec 26 20:20 . -rwx------ 1 root root 33M May 25 19:56 tcpborphserver.bin -rwx------ 1 root root 2.3K May 25 19:56 tcpborphserver.dtbo =========== :~$ cat /etc/systemd/system/tcpborphserver.service [Unit] Description=TCPBorphServer allows programming and communication with the FPGA Wants=network.target After=syslog.target network-online.target [Service] Type=simple ExecStart=/bin/tcpborphserver3 -b /lib/firmware Restart=on-failure RestartSec=10 KillMode=process [Install] WantedBy=multi-user.target ============== :~$ ps aux | grep pyth root 484 0.0 0.4 28860 16780 ? Ss 19:03 0:00 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-sts casper 884 0.0 0.0 5832 660 ttyPS0 S+ 20:35 0:00 grep --color=auto pyth :~$ cat /usr/bin/networkd-dispatcher #! /usr/bin/python3 # networkd-dispatcher # Dispatcher service for systemd-networkd # Copyright(c) 2016 by wave++ "Yuri D'Elia" <wav...@thregr.org> # Distributed under GPLv3+ (see COPYING) WITHOUT ANY WARRANTY. # Copyright(c) 2018 by craftyguy "Clayton Craft" <clay...@craftyguy.net> # Distributed under GPLv3+ (see COPYING) WITHOUT ANY WARRANTY. from __future__ import print_function, division, generators, unicode_literals On Sunday, December 8, 2024 at 12:57:51 PM UTC-5 Kaj Wiik wrote: > Hi Ken, > > Here's the repository of the tcpborphserver3: > > https://gitlab.ras.byu.edu/alpaca/casper/katcp/-/tree/master/tcpborphserver3 > > There are a number of branches that support e.g. setting the RFDC NCO. > > We will have a similar need to stream lowish-speed polarimetry data using > the 1 GbE interface. I plan not to do the data readout using KATCP but > mapping the BRAM addresses directly to Julia data structures, forming HDF5 > files in ramdisk and copying them to a NFS mounted server disk. Let's see > how it goes ;-), I have to design the analog interface first :-D. > > Cheers and good luck, > Kaj > > On Sun, 8 Dec 2024 at 18:53, Ken Semanov <shapki...@gmail.com> wrote: > >> I need to know everything about what is happening in the PS side with >> the katcp server. Otherwise I cannot email the author of the katcp package >> to ask questions about it. He will need to know exactly what we are doing >> with CASPERized Linux. This is already going to be difficult to >> communicate to him as it is. >> >> On Sunday, December 8, 2024 at 11:46:07 AM UTC-5 Ken Semanov wrote: >> >>> The Python version of the server side of KATCP is shown below. (there >>> may be a C version somewhere) >>> . >>> https://github.com/ska-sa/katcp-python/blob/master/katcp/server.py >>> >>> This uses futures from concurrent.futures and tornado futures. As >>> some may already know, "threading" in Python is fake. All threads stall >>> all other threads due to a Global Interpreter Lock (GIL). This is >>> exactly the behavior that I am seeing from network speed tests. One of my >>> own processes can retrieve from a Snapshot at 2.1 Megabytes/sec. >>> However, for 8 concurrent processes, I only see 6.1 Megabytes/sec. It is >>> exactly as if the parallel connections refuse to stack up correctly. If >>> the CASPERized Linux on the PS of the board side is running Python Katcp >>> (and not the C version) then it would be stalling connections until the >>> GIL allows them into the single thread-of-execution. >>> >>> Can anyone on this forum confirm any of this? What is happening on the >>> CASPERized Linux image? Where could I see this for myself? What >>> processes in ps aux might I see related to katcp servers on the PS side? >>> >>> >>> >>> >>> On Sunday, December 8, 2024 at 12:26:26 AM UTC-5 Ken Semanov wrote: >>> >>>> Is there a way I could nose around the katcp server on the board side >>>> in order to see how it is configured? >>>> >>>> Could I reconfigure this server after booting into the board? >>>> >>>> I am using a CASPERized image on a ZCU216. I am migrating data out of >>>> snapshot blocks over network. After several network tests, it appears >>>> that >>>> the katcp on the board side (PS) is artificially limited to 3 or 4 >>>> simultaneous network connections over RJ45 ethernet. My use-case needs >>>> this to be more like 8 to 16 connections. I may also need to change the >>>> packet size. >>>> >>>> Thanks. >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "cas...@lists.berkeley.edu" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to casper+un...@lists.berkeley.edu. >> To view this discussion visit >> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/386ccab3-d2a3-4507-9542-1b4889b473f3n%40lists.berkeley.edu >> >> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/386ccab3-d2a3-4507-9542-1b4889b473f3n%40lists.berkeley.edu?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "casper@lists.berkeley.edu" group. To unsubscribe from this group and stop receiving emails from it, send an email to casper+unsubscr...@lists.berkeley.edu. To view this discussion visit https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/0b69eaa6-ac57-498f-9ba3-351506aa9f55n%40lists.berkeley.edu.