-
Notifications
You must be signed in to change notification settings - Fork 7
Distributed processing emulation tool
License
tomcucinotta/distwalk
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
DistWalk - Distributed processing emulation tool for Linux Copyright 2016-2021 by Tommaso Cucinotta firstname dot lastname at santannapisa dot it ====================================================================== DESCRIPTION ---------------------------------------------------------------------- DistWalk is a simple command-line tool useful to emulate distributed processing scenarios, where a client submits requests to be processed by one or more server nodes, in a distributed environment. The client can be configured to send requests according to a pre-defined pattern (e.g., periodically or exponentially distributed), and the server may be configured to perform processing for a time that is configurable according to a pre-defined pattern (e.g., constant or exponentially distributed processing time). The client provides, at the end of the experiment, all the end-to-end processing times for all submitted requests. At the moment, the client establishes a TCP connection to the server, which is capable of handling multiple client connections via epoll(7). COMPILING ---------------------------------------------------------------------- This program has been developed and tested on a Linux Ubuntu system, versions 16.xx and 17.xx. Therefore, please, use Linux. In order to compile the client and the server, just type, from the root folder: make two executables are created: - src/client: the client program, try typing ./client -h - src/node: the server program, try typing ./server -h EXAMPLE OF USE ---------------------------------------------------------------------- The classic and simplest scenario is the one of a client-server scenario with client submitting periodically packets of a given size, and expecting back responses of a different fixed size. This example scenario is achieved launching on the server the simple command: [myuser@myserver distwalk/src]$ ./node then launching on the client the following command, with which we are submitting 10 packets at a rate of 1000 pkt/s [myuser@myclient distwalk/src]$ ./client -c 10 -r 1000 -C 1000 -s -ps 512 myserver Configuration: bind=0.0.0.0:0 hostname=theoden.retis:7891 num_pkts=10 rate=1000, exp_arrivals=0 waitspin=0 ramp_num_steps=10, ramp_delta_rate=100, ramp_step_secs=0 comptime_us=1000, exp_comptimes=0 pkt_size=512, exp_pkt_size=0 resp_size=128, exp_resp_size=0 min packet size due to header: 12 max packet size: 16384 no_delay: 1 t: 1 us, elapsed: 1476 us t: 1053 us, elapsed: 1292 us t: 2225 us, elapsed: 1296 us t: 3054 us, elapsed: 1626 us t: 4082 us, elapsed: 1567 us t: 5116 us, elapsed: 1542 us t: 6220 us, elapsed: 1461 us t: 7252 us, elapsed: 1415 us t: 8225 us, elapsed: 1536 us t: 9218 us, elapsed: 1375 us
About
Distributed processing emulation tool
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published