Hi Ken,
Yes, it is C. There is a version of KATCP server in Python too. In a
nutshell the server is reading memory addresses of the BRAM areas from
.dtbo and mmapping them to variables that are sent via KATCP.
Cheers,
Kaj
On 8.12.2024 23.07, Ken Semanov wrote:
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 <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 <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
<mailto: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 <https://
groups.google.com/a/lists.berkeley.edu/d/msgid/casper/0b69eaa6-
ac57-498f-9ba3-351506aa9f55n%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/6ad90c9d-b613-4977-83e8-b71c5b451cb9%40utu.fi.