Networking Problems in Cloud Computing Projects. 2 Kickass: Implementation PROJECT 1.

36
Networking Problems in Cloud Computing Projects

Transcript of Networking Problems in Cloud Computing Projects. 2 Kickass: Implementation PROJECT 1.

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)

6

Kickass: Wireless AP

PROJECT 2

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)

10

Kickass: Benchmarks

PROJECT 3

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)

14

Synthoid: Mobile

PROJECT 4

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)

18

Synthoid: Search

PROJECT 5

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)

CDN Performance Evaluation

PROJECT 6

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

Chromium: Web Page Performance

PROJECT 7

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

Mobile TCP Evaluation

PROJECT 8

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

Milestones

Scripts for Linux (4/21) Scripts for Android (5/12) End-Term:

Test data generation Analysis results