Talk:COMP 3000 Essay 2 2010 Question 1: Difference between revisions

From Soma-notes
Rannath (talk | contribs)
Rannath (talk | contribs)
Line 39: Line 39:


=====memchached=====
=====memchached=====
memcached is an in-memory hash table. A memcached server running on many cores is severely bottlenecked. To avoid the problem, run multiple memcached instances. Have clients worry about synchronizing data between the different instances. This lets the memchached process requests in parallel. With few requests memcached does most of its processing at the network stack, 80% of its time on one core.
memcached is an in-memory hash table. Memchached is very much not parallel, but can be made to be with a little tweaking. To avoid the problem, run multiple memcached instances. Have clients worry about synchronizing data between the different instances. This lets the memchached process requests in parallel. With few requests memcached does most of its processing at the network stack, 80% of its time on one core.


===Research problem===
===Research problem===

Revision as of 19:24, 17 November 2010

Group members

Patrick Young Rannath@gmail.com

Methodology

We should probably have our work verified by at least one group member before posting to the actual page

To Do

  • Improve the grammar/structure of the paper section
  • Background Concepts -fill in info (fii)
  • Research problem -fii
  • Contribution -fii
  • Critique -fii
  • References -fii

Claim Sections

Section claims:

  • I claim Exim and memcached for background, contribution and critique -Rannath

Essay

Paper

The paper's title, authors, and their affiliations. Include a link to the paper and any particularly helpful supplementary information.

Authors in order presented: Silas Boyd-Wickizer, Austin T. Clements, Yandong Mao, Aleksey Pesterev, M. Frans Kaashoek, Robert Morris, and Nickolai Zeldovich

An Analysis of Linux Scalability to Many Cores

Background Concepts

Explain briefly the background concepts and ideas that your fellow classmates will need to know first in order to understand your assigned paper.

Ideas to explain:

  1. thread (maybe)
  2. Linux's move towards scalability precedes this paper. (assert this, no explanation needed, maybe a few examples)
  3. Summarize scalability tutorial (Section 4.1 of the paper)
  4. Describe the programs tested (what they do, how they're programmed (serial vs parallel), where to the do their processing)
Exim

Exim is a mail server for Unix. It's fairly parallel. The server forks a new process for each connection and twice to deliver each message. It spends 69% of its time in the kernel on a single core.

memchached

memcached is an in-memory hash table. Memchached is very much not parallel, but can be made to be with a little tweaking. To avoid the problem, run multiple memcached instances. Have clients worry about synchronizing data between the different instances. This lets the memchached process requests in parallel. With few requests memcached does most of its processing at the network stack, 80% of its time on one core.

Research problem

What is the research problem being addressed by the paper? How does this problem relate to past related work?

Problem being addressed: scalability of current generation OS architecture, using Linux as an example. (?)

Summarize related works (Section 2, include links, expand information to have at least a summary of some related work)

Contribution

What was implemented? Why is it any better than what came before? What does that mean in terms of the potential scalability of modern OSs?

Summarize info from Section 4.2 onwards, maybe put graphs from Section 5 here to provide support for improvements (if that isn't unethical/illegal)?

Conclusion: we can make a traditional OS architecture scale (at least to 48 cores), we just have to remove bottlenecks.

Critique

What is good and not-so-good about this paper? You may discuss both the style and content; be sure to ground your discussion with specific references. Simple assertions that something is good or bad is not enough - you must explain why.

Since this is a "my implementation is better then your implementation" paper the "goodness" of content can be impartially determined by its fairness and by how relevant presented changes are.

Relevance criterion:

  1. how popular is the program used to test?
  2. Who uses the program?

Fairness criterion:

  1. does the test accurately describe real-world use-cases (or some set there-of)?
  2. does the test put all tested implementations through the same test? (or their implementation through a harder test)

Style Criterion (feel free to add I have no idea what should go here):

  1. does the paper present information out of order?
  2. does the paper present needless information?
  3. does the paper have any sections that are inherently confusing?

References

You will almost certainly have to refer to other resources; please cite these resources in the style of citation of the papers assigned (inlined numbered references). Place your bibliographic entries in this section.