Class 13: The Internet

Posted: Thu 06 March 2014

Enjoy your break!



Start thinking about what you want to do for your final project. The only requirement is that your project be fun, relevant, technically interesting, and useful (or at least very strong on two of these). You can work with any size team you want. If you have a good idea for a project and prefer to work on it instead of PS4, you can arrange to do this by convincing me your project is worthwhile by 19 March.

For inspiration, see Last Semester's cs4414 Projects.

Some Spring Break Reading

Here are some (optional but highly recommended!) readings to get you in the mood for post-Spring Break kernel hacking:

Benchmarking for Customers

What does it mean to cheat on a benchmark?

How should competitive benchmarks be designed to prevent cheating?


What should you do if you want to reduce the latency of your web server for important clients in Charlottesville?

What should you do if you want to increase the bandwidth of your web server for important clients in Charlottesville?

Why is it useful to have different protocol layers in a network?

What are the drawbacks of having different protocol layers?

How does the Internet prevent zombie packets?

For your zhtta server, which protocol layer is most inefficient?

Challenge. Find a host on the Internet whose latency from Charlottesville is higher than the latency to reach Bussleton, Australia. (Post in comments below.)


What has higher bandwidth, a fiber-optic cable or an ocean liner?

What can you do to improve bandwidth?


What are the advantages and disadvantages of packet switching compared to circuit switching?

What is an internetwork?

Who "invented" the "Internet"?


History of Packets by Robbie Hott

Tim Berners-Lee's Answers for Young People:

So do you think the Web is basically been a good idea or a bad one?

Some people point out that the Web can be used for all the wrong things. For downloading pictures of horrible, gruesome, violent or obscene things, or ways of making bombs which terrorists could use.

Other people say how their lives have been saved because they found out about the disease they had on the Web, and figured out how to cure it.

I think the main thing to remember is that any really powerful thing can be used for good or evil. Dynamite can be used to build tunnels or to make missiles. Engines can be put in ambulances or tanks. Nuclear power can be used for bombs or for electrical power.

So what is made of the Web is up to us. You, me, and everyone else.

Here is my hope.

The Web is a tool for communicating.

With the Web, you can find out what other people mean. You can find out where they are coming from.

The Web can help people understand each other.

Think about most of the bad things that have happened between people in your life. Maybe most of them come down to one person not understanding another. Even wars.

Let's use the web to create neat new exciting things.

Let's use the Web to help people understand each other.

comments powered by Disqus

Class 12: Scheduling in Linux and Web Servers

Posted: Tue 04 March 2014

Problem Set 3 is due by 11:59pm on Wednesday, 5 March. See the previous announcement for details on how to submit PS3.


PS3 Leaderboard Update

Scheduling in Linux

What were the problems with the Linux O(N) scheduler?

What were the problems with the Linux O(1) scheduler?

Inside the Linux 2.6 Completely Fair Scheduler: Providing fair access to CPUs since 2.6.23
CFS Scheduler Design and Announcement

What are the most important goals for an operating system scheduler today?

Energy Saving in OS 10.9 Mavericks How OS X "Mavericks" works its power-saving magic

How does the Mac OS 10.9 Mavericks scheduler save energy?

Web Server Overload

If the rate of incoming requests exceeds the server's rate of processing requests, what can you do?

Why is it hard to solve problems by just throwing more resources at them?

When is horizontal partitioning better than vertical partitioning?

How should a server respond to a distributed denial-of-service attack?

What is (or should be?) the bottleneck resource for most web servers?

Obama's Trauma Team, Time Magazine (cover article by Steven Brill), 10 March 2014. Original

comments powered by Disqus

Class 11: Smarter Scheduling (Thu 27 February 2014)

Class 10: SSL, Sharing, and Scheduling (Tue 25 February 2014)


  • Amazon EC2
  • Challenges
  • Classes
  • Forum
  • Getting Started with Github
  • IRC
  • Open Discussion Forum
  • Pages
  • Problem Set 3 - Zhtta Server - Benchmarking
  • Projects
  • Problem Set 0 - Tutorial and Course Registration
  • Problem Set 1 - zhttpto Web Server
  • Problem Set 2 - The Good Auld Shell
  • Problem Set 2 - Exploration 1
  • Problem Set 2 - Exploration 2
  • Problem Set 3 - Zhtta Web Server
  • Problem Set 4 - IronKernel
  • PS4 - Setup Commands
  • Open Enrollment
  • Survey Comments
  • Syllabus
  • Forum
  • Using Materials
  • VirtualBox
  • Working on Github in cs4414
  • Setting up your Zhtta Server on EC2