Another Dimension

Xiangyu's personal blog.

Performance Characterization of Suricata's Thread Models

2017-12-24 project xbu
In a previous project my fellow Amit Sheoran and I examined how well Suricata IDS runs inside Docker container and virtual machine environments. In April 2017, we further examined Suricata’s various thread models, as a project for Purdue CS525 Parallel Computing course. In this article we first introduce the thread models, and then compare them in terms of performance and resource utilization. Suricata’s Multi-Thread Architecture Compared to Snort IDS, the biggest feature of Suricata is that it adopts multi-threaded design to achieve high performance. Continue reading

Benchmarking Suricata in Different Isolation Systems Using TCPreplay

2016-09-16 project xbu

Containers like LXC are becoming a popular solution to program isolation. Compared to virtual machines (VM), containers tend to have less resource overhead and higher performance, which makes it interesting to explore how much benefit we can get from deploying virtual network functions (VNF) with containers instead of VMs. Therefore, we conducted an experiment in which we compared performance and resource usage of Suricata, a popular multi-threaded IDS program, in bare metal, Docker container, and virtual machine setups, and in different load levels and resource allocation configurations.

Continue reading

onedrived - Microsoft OneDrive client for Linux

2015-12-25 project xbu

onedrived is a client program for Microsoft OneDrive on Linux platform. It enables you to sync local directories with remote OneDrive repositories (a.k.a., “Drive”) of one or more OneDrive Personal account (OneDrive for Business accounts are not yet supported).

The program is written in Python3, and uses official OneDrive Python SDK to communicate with OneDrive server, Keyring to securely store account credentials, and Linux inotify API to monitor file system changes.

Continue reading

gitlab-ag - Combining Git and Autograding

2015-01-14 project xbu
Planned in December 2014 and first released in January 2015, gitlab-ag is a project that aims to enhance GitLab, an open-source GitHub-like system, for educational use. The primary goal is to facilitate batch operations on GitLab and integrate automated grading mechanism, thereby replacing the AutoGrader system used in the past. It runs as a standalone website that manipulates GitLab API. GitHub Repository: https://github.com/xybu/gitlab-ag Documentation: https://github.com/xybu/gitlab-ag/blob/master/README.md License: GPLv2 Features Import / delete users in batch: import students (GitLab users) from CSV when a new semester starts, and delete all users after semester ends. Continue reading

Purdue CS240 Autograder

2013-12-17 project xbu
For historical curiosity, this page records the work of Autograder, an automated grading platform used in Purdue CS240 “Programming in C” course. Students submit code for grading and later receive grades. This platform encouraged students to try achieving best score and also greatly reduced TAs’ workload. In Fall 2014 a new project gitlab-ag, based on GitLab, replaced Autograder. Autograder has been deprecated. The purpose of this page is to summarize the knowledge and experience gained from this project so that we make better things in the future. Continue reading

Emulating Raspberry Pi with QEMU

2013-11-16 project xbu
The USB-TTL cable I’m provided with doesn’t support Windows 8.x, which is super inconvenient. So I decided to make a virtual machine running Occidentalis so that I don’t have to work on the real Pi. “Occidentalis” is Adafruit’s Raspberry Pi educational distro. More details can be found here. Before I made everything from scratch, I did some research and found one article that already discussed emulating RPi on Linux x86-64, and it works. Continue reading
Theme by Lednerb