Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
hpdos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
SYNERG
hpdos
Commits
5c86d489
Commit
5c86d489
authored
Jun 11, 2021
by
Shah Rinku
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update README
parent
122aaf3e
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
42 additions
and
89 deletions
+42
-89
code/mTCP_server_MDcache/README
code/mTCP_server_MDcache/README
+0
-89
code/mTCP_server_MDcache/README.md
code/mTCP_server_MDcache/README.md
+42
-0
No files found.
code/mTCP_server_MDcache/README
deleted
100644 → 0
View file @
122aaf3e
========================================================================
USAGE OF EXAMPLE APPLICATIONS
========================================================================
epserver: a simple mtcp-epoll-based web server
Single-Process, Multi-threaded Usage:
./epserver -p www_home -f epserver.conf [-N #cores]
ex) ./epserver -p /home/notav/www -f epserver.conf -N 8
Multi-Process, Single-threaded Usage [DPDK-only]
(Master runs on core 0 by default, Slave processes on core 1~N)
ex) ./epserver -p /home/notav/www -f epserver-multiprocess.conf -c 0
for i in {1..7}
do
./epserver -p /home/notav/www -f epserver-mutliprocess.conf -c $i
done
options:
www_home: the directory to server. # max files are limited to
MAX_FILES in epserver.c:36
-N: number of CPU cores to use. default: all existing cores
-p: path to www/ files
-f: path to mtcp configuration file
-c: the core_id on which the process should run
[only works for multi-process mode]
========================================================================
epwget: simple mtcp-epoll-based http request generator
Single-Process, Multi-threaded Usage:
usage: ./epwget URL #requests [-N #cores] [-c concurrency] -f $mtcp_conf
ex) ./epwget 10.0.0.43/example.txt 10000000 -N 8 -c 8000 -f epwget.conf
Multi-Process, Single-threaded Usage [DPDK-only]
(Master runs on core 0 by default, Slave processes on core 1~N)
usage: ./epwget URL #requests -n $core [-c concurrency] -f $mtcp_conf
ex) ./epwget 10.0.0.43/example.txt 10000000 -n 0 -c 1000 -f epwget-multiprocess.conf
for i in {1..7}
do
./epwget 10.0.0.43/example.txt 1000000 -n $i -c 1000 -f epwget-multiprocess.conf
done
options:
URL: url of the content to download.
#requests: number of requests to generate
-N: number of CPU cores to use. default: min(# cores, # requests)
-c: number of maximum concurrent connections. default: 100
-f: path to mtcp configuration file
-n: the core_id on which the process should run
[only works for multi-process mode]
notes:
- epwget can use a range of IP addresses for larger concurrent
connections that cannot be in an IP. you can set it in epwget.c:33.
- epwget overrides some part of the settings in epgwet.conf and uses
mtcp_setconf() internally to apply the input arguments to the
configuration.
========================================================================
ONVM setups:
The config file provides simple onvm mtcp setups such as:
- simple endpoint server
- Enable `io = onvm`, and `onvm_serv = 1` in epserver.conf
- Run onvm
$ onvm/go.sh 1,2,3 1 -s stdout
- Run epserver
$ sudo ./epserver -p /path/to/www -f epserver.conf -N 1
- local client/server setup
- Enable `io = onvm`, `onvm_serv` = 1, and `onvm_dest = 2` in epserver.conf
- Enable `io = onvm`, `onvm_serv` = 2, and `onvm_dest = 1` in epwget.conf
- Run onvm
$ onvm/go.sh 1,2,3 1 -s stdout
- Run epserver
$ sudo ./epserver -p /path/to/www -f epserver.conf -N 1
- Run epwget
$ sudo ./epwget $SERVER_IP/foo.html 10000000 -N 1 -c 1024 -f epwget.conf
PLEASE NOTE THAT YOU WILL HAVE TO ADD STATIC ARP TABLE ENTRIES TO RUN
MTCP IN ONVM MODE.
========================================================================
Contact: mtcp-user at list.ndsl.kaist.edu
April 2, 2014.
EunYoung Jeong <notav at ndsl.kaist.edu>
M. Asim Jamshed <ajamshed at ndsl.kaist.edu>
code/mTCP_server_MDcache/README.md
0 → 100644
View file @
5c86d489
## mTCP for Bluefield smartNIC
### mTCP code changes
The material in "documentation" folder provides details on code changes required to run mTCP over Bluefield ARM cores.
### Configure and compile mTCP
1.
Download and configure DPDK-19.11.8 using Alternative-2, as discussed in DPDK README
2.
Setup the MTCP-DPDK environment; this involves integration of DPDK with mTCP
a. $ export RTE_SDK=
<absolute-path-to-dpdk-stable-19
.
11
.
8
>
b. $ export RTE_TARGET=arm64-bluefield-linuxapp-gcc //For Bluefield smartNIC OR
$ export RTE_TARGET=x86_64-native-linuxapp-gcc //For Host
c. Configure mTCP with our DPDK version
.../mtcp-devel$ ./configure --with-dpdk-lib=$RTE_SDK/$RTE_TARGET CFLAGS="-DMAX_CPUS=<num_host/nic_cpus>"
// Use --disable-hwcsum when working in virtualized environment
// If there an error: “configure: error: Could not find gmp.h”; $ sudo apt install libgmp-dev
d. Integrate mTCP with our DPDK version
<path-to-mtcp-devel>$ sudo ./setup_mtcp_dpdk_env.sh <absolute-path-to-dpdk-stable-19.11.8>
3.
Compile mTCP
.../mtcp-devel$ make -j
4.
To revert back mTCP NIC changes
<path-to-mtcp-devel>
$ ./setup_linux_env.sh
<path
to
$
RTE_SDK
>
### Run mTCP sample application "HTTP server"
1.
Configure static ARP entries
.../mtcp-devel/apps/example/config$ vim arp.conf
//Add ARP entries for remote IPs (see example below)
```ARP_ENTRY 6
192.168.200.10/32 0c:42:a1:df:ac:48
192.168.210.10/32 0c:42:a1:df:ac:49
192.168.200.20/32 0c:42:a1:df:ac:42
192.168.210.20/32 0c:42:a1:df:ac:43
192.168.200.30/32 0c:42:a1:df:ac:41
192.168.210.30/32 0c:42:a1:df:ac:40```
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment