opensketch
==========
We release our simulator(simulation/) and prototype(controller/ and netfpga/) code here.
This OpenSketch platform currently has heavy hitters and superspreaders
implementation as examples built upon several sketch-based building blocks we discussed in the paper.
Many other measurement tasks can be implemented on top of it with
simple controller code and limited data plane resources, because it only need to configure existing
building blocks and analyze the collected data to report the results. We will add more examples for future releases.
We are willing to hear your feedback. Please let us know if you'd like to build other measurement tasks on top of opensketch.
We are really interested in getting feedbacks from you on the requirements on opensketch library and data plane,
and providing support for your applications.
It's also much appreciated if you'd like to contribute to the opensketch libarary and applications.
If you have further questions, feel free to contact us.
rmiao@usc.edu, lavanyaj@cs.stanford.edu, minlanyu@usc.edu
simulation:
------------------
This is a packet-trace(CAIDA packet trace) driven simulator we built to compare with NetFlow
and other streaming algorithms. From our evalution, it provides a better memory-accuracy tradeoff
than NetFlow and achieves comparable accuracy to the streaming algorithms, while provindg
generality.
controller:
------------------
This is control plane code for our prototype. Each sketch has two functions for the measurement program to use:
(1)configure : to specify the packet fields, the memory constraint, and the number of hash functions to use
(2)query : to periodically get the statistics
This two basic functions also defines two types of APIs, including set Hash function, constrain sram counter
size, and dump sram counter, etc. The controller employs PCI interface to communicate with data plane, which
reads or writes the hardware registers through IOCTL calls.
The measurement program in the controller can periodically query the sketches about the statistics.
According to the received statistics, the measurement programs may install new sketches or change
the accuracy requirements accordingly. The sketches automatically queries the data plane to get the counters
in order to generate the right statistics to the measurement program.
netfpga:
------------------
This is opensketch data plane prototype in netfpga, including Header Parser, Hashing, Wildcard Lookup, and
SRAM Counter in a pipeline. Since we simply pull packet headers to collect the statistics without changing the packet
bus, there is no effect on packet forwarding latency and throughput. As a packet enters, the Header Parser pulls
the related fields from the packet header, which are then
hashed by hash functions in parallel. We then pass the
packet header and hash values to the Wildcard Lookup,
where we implement wildcard rule matching in parallel. For each matched rule, we update the corresponding
counters in the SRAM Counter. We use the entire 4.5
MB on-board SRAM to store the counters.
This OpenSketch modules should be inserted into the reference switch pipeline and then compiled following
NetFPGA developer guide (http://wiki.netfpga.org/foswiki/bin/view/NetFPGA/OneGig/DevelopersGuide).
没有合适的资源?快使用搜索试试~ 我知道了~
仿真和netfpga代码___下载.zip
共85个文件
h:32个
cc:28个
v:17个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 40 浏览量
2023-04-16
20:11:53
上传
评论
收藏 118KB ZIP 举报
温馨提示
仿真和netfpga代码___下载.zip
资源推荐
资源详情
资源评论
收起资源包目录
仿真和netfpga代码___下载.zip (85个子文件)
opensketch-master
simulation
hashInfo.h 235B
os_counterrevanalyze.h 2KB
sketchBitmap.cc 729B
sketchReversible.h 522B
os_galoisField.cc 2KB
dataplane.h 4KB
taskHeavyHittersRev.h 702B
Makefile 537B
task.h 899B
testHeavyHitters.cc 2KB
sketchBitmap.h 240B
taskSuperSpreadersRev.h 757B
sketchCountMin.cc 385B
os_galoisField.h 2KB
testSuperSpreaders.cc 4KB
sketchReversible.cc 1KB
counterInfo.h 251B
taskHeavyHitters.cc 2KB
common.h 3KB
task.cc 2KB
os_mangler.h 2KB
taskSuperSpreadersRev.cc 5KB
common.cc 2KB
sketch.h 340B
dataplane.cc 8KB
taskHeavyHittersRev.cc 3KB
sketchCountMin.h 233B
taskHeavyHitters.h 869B
packet.h 282B
os_mangler.cc 2KB
taskSuperSpreaders.cc 4KB
testHeavyHittersRev.cc 3KB
os_counterrevanalyze.cc 9KB
testSuperSpreadersRev.cc 4KB
sketch.cc 585B
taskSuperSpreaders.h 928B
controller
tradeoffs.pyc 7KB
tradeoffs.py 8KB
hashInfo.h 285B
nf2.h 16KB
nf2util.c 6KB
sketchBitmap.cc 914B
reg_defines.h 46KB
os_galoisField.cc 2KB
dataplane.h 1KB
Makefile 663B
util.c 1KB
tradeoffs.lyx 11KB
testHeavyHitters.cc 2KB
sketchBitmap.h 369B
util.h 440B
sketchCountMin.cc 822B
os_galoisField.h 2KB
testSuperSpreaders.cc 3KB
counterInfo.h 266B
nf2util.h 2KB
taskHeavyHitters.cc 4KB
common.h 2KB
os_mangler.h 2KB
common.cc 4KB
dataplane.cc 4KB
sketchCountMin.h 387B
taskHeavyHitters.h 1KB
packet.h 282B
os_mangler.cc 2KB
taskSuperSpreaders.cc 3KB
taskSuperSpreaders.h 924B
netfpga
CRC32_D32_5.v 9KB
CRC32_D32_2.v 8KB
CRC32_D32_1.v 9KB
user_data_path.v 20KB
wildcard_match.v 15KB
CRC32_D32_8.v 10KB
CRC32_D32_7.v 9KB
CRC32_D32_0.v 10KB
header_parser.v 14KB
hashnmeasure.v 10KB
CRC32_D32_4.v 9KB
CRC32_D32_9.v 9KB
unencoded_cam_lut_sm.v 20KB
nf2_core.v 42KB
CRC32_D32_6.v 10KB
CRC32_D32_3.v 9KB
header_hash.v 3KB
README.md 3KB
共 85 条
- 1
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9153
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功