Networking Problems in Cloud Computing Projects. 2 Kickass: Implementation PROJECT 1.
-
Upload
jamison-scovill -
Category
Documents
-
view
222 -
download
0
Transcript of Networking Problems in Cloud Computing Projects. 2 Kickass: Implementation PROJECT 1.
Background
Kickass is a transport layer congestion control mechanism.
Uses IP fragmentation to enable communication between routers and end points.
Designed to operate well alongside TCP.Currently only a proof-of-concept
implementation exists.
Project Goals
Develop an improved end point implementation of Kickass.– C, Linux kernel programming
Provide more reliable and stable implementation of the system.
Explore practical improvements that could be made to the design.
Deliverables
Compiling and working with existing version (4/21)
Full outline of implementation plan in the kernel (5/12)
New receiver operating on network testbed (End of quarter)
Background
Since the last mile is a common bottle-neck its a reasonable to place a Kickass router as the home router.
Implementing Kickass in a manner that would allow easy install would greatly improve usability.
DD-WRT offers a convenient Linux-Based method of controlling routers.
Project Goals
Implement the Kickass router protocol for DD-WRT open source firmware.– C
Explore the challenges of operating Kickass in a wireless environment.– Limited resources, limited computing
power
Deliverables
Compile current version of DD-WRT and flash to router (4/21)
Initial module design for constraints of the router (5/12)
Working prototype of Kickass DD-WRT kernel module (End of quarter)
Background
Current benchmarks are manual and ad-hoc, requiring significant manual interaction.
Improved benchmarks would allow improved further study.– Reproducibility– Variety (i.e. could explore more designs)– Ease-of-use
Project Goals
Develop automated benchmark suite to test network performance in different scenarios– C, Python
Explore scenarios that would be worth testing (ie explore the strengths and weaknesses of the protocol).
Generate various traffic models and evaluate performance.
Deliverables
Develop basic outline of benchmarking model (4/21)
Develop extensible framework for implementing benchmarking and performance comparisons (5/12)
Final system including a handful of working benchmarks (End of Term)
Background
Synthoid is a privacy tool which performs automated browsing in order to pollute user ad profiles
Currently only implemented in desktop operating systems
Would be extremely valuable in mobile (Android in particular)
Project Goals
Improve on previous proof of concept.
Develop solutions to remaining challenges in the mobile environment.
– Power usage
– User experience
– Data size limitations
Deliverables
A tool to perform arbitrary programatic browsing on Android (4/21)
Add topic selection and complete browsing patterns (5/12)
Working prototype of mobile system (End of Term)
Background
Search engines employ high levels of search personalization based on user history.
The Synthoid model of generating false history stands to be effective in such a scenario.
Search offers fresh challenges (feedback, generating meaningful queries).
Project Goals
Develop a system which allows measurement of user profile without explicit information from the search provider.
Allow users to audit the profiling done by the search engine.– Improve existing obfuscation techniques.
Understand what information is being used about a user.
Deliverables
Mechanism to measure differences in search results (4/21)
Profile Construction scheme to build the observed profile (5/12)
Prototype of the working system (end of term)
Background
Modern web services use CDN for traffic delivery
Performance from different CDN providers is not transparent
How can we evaluate the performance of CDNs? Different web services? Different locations? Different content type? HTTP vs. HTTPS?
Project Goals
Focus on HTTP(S) requests CDN performance evaluation over different
parameters Locations Edge server selection Unstable environment (high package lost)
Deliverables
A tool to record the CDN provider performance Input: HTTP(S) request log Output: CDN provider name, IP, responding
time, and etc.
Analysis of CDN performance Different locations, time, edge server, etc; Redundant requests to multiple servers;
Milestones
Mid-Term: Collecting test data Get testing environment ready
PlanetLab
End-Term: Analysis results
Background
Chromium (Chrome): open source browser Web pages are getting more complex
There might be hundreds of requests triggered by a single page;
Protocols: DNS, HTTPS, SPDY, WebSockets…
How to optimize the web page performance from different scenarios? From laptop/mobile devices?
From cable/mobile Internet?
Project Goals
Focus on web pages Build the tools for browsers
Log the DNS, HTTP(S) performance when loading a web page
Deliverables
A Chrome plugin to log web page performance: timing details WProf
Runnable browser for Linux/Android Web page performance analysis results
Top websites Random websites
Milestones
Compiled Chrome for Linux (4/21) Compiled Chrome for Linux (5/12) End-Term:
Test data generation Analysis results
Background
Accessing mobile Internet (3G/4G) is getting more popular
However, TCP is not particular designed for mobile environment: High lost rate
Unstable throughput
Broken connections
Project Goals
Focus on TCP performance under mobile environment
Build the tools for TCP analysis Ruby/Python for log analysis
Analysis with simulation and real world test What is the main reason for slow mobile
performance? Is there an easy way to fix the problem?
Deliverables
Tools to analysis TCP performance Scripts for tcpdump
Runnable scripts for linux/andriod Ruby/Python/Java Selenium for browser automation