Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Network Algorithmics

samzenpus posted about 8 years ago | from the join-forces dept.

55

danny writes "Modern network devices have to handle traffic in huge volumes at low latencies; achieving this requires ideas and approaches from all of computer science: hardware, algorithms, protocols, software engineering and their integration in a discipline which Varghese calls "network algorithmics". Read the rest of Danny's review.

After an introduction in chapter one to bottlenecks and techniques for avoiding them, Varghese provides a brief overview of protocols, hardware, network architectures, and operating systems, with examples, in chapter two. This is best suited as a refresher: Network Algorithmics assumes a general familiarity with networking protocols, operating systems and computer architecture, and if used as a text would be suitable for higher undergraduates. (The exercises at the end of each chapter are often open-ended.)

Chapter three introduces the fifteen implementation principles that are the core of Network Algorithmics: P1 Avoid obvious waste; P2 Shift computation in time (precompute, evaluate lazily, share expenses or batch); P3 Relax system requirements (trade certainty or accuracy for time, shift computation in space); P4 Leverage off system components (exploit locality, trade memory for speed, exploit existing hardware), P5 Add hardware (use memory interleaving and pipelining, use wide word parallelism, combine DRAM and SRAM effectively); P6 Create efficient specialized routines; P7 Avoid unnecessary generality; P8 Don't be tied to reference implementation; P9 Pass hints in layer interfaces, P10 Pass hints in protocol headers; P11 Optimize the expected case (use caches); P12 Add state for speed (compute incrementally); P13 Optimize degrees of freedom; P14 Use bucket sorting, bitmaps; and P15 Create efficient data structures. Chapter four presents fifteen problems that illustrate these principles in action, with hints to solutions.

Part II of Network Algorithmics is devoted to end-nodes. A chapter "Copying Data" takes a web server, delivering files from disk to network, as the prototype, and explores different approaches to reduce pressure on the memory and I/O bus by reducing the number of copies required: copy-on-write, fbufs, RDMA, IO-Lite, and more. It also touches on making cache use more effective and the tantalizing possibilities of "integrated layer processing".

"Transferring Control" looks at minimizing scheduling overhead and maximizing concurrency: at context-switches, processes, threads, and event-driven servers. It evaluates the existing Unix select() call and considers ways of speeding it up, with and without changing the API. And it touches on ways of avoiding system calls and reducing interrupt overhead.

There are three shorter chapters. "Maintaining Timers" explores hashed and hierarchical timing wheels, the BSD implementation, and fine granularity. "Demultiplexing" looks at the development of packet filters: CMU/Stanford, Berkeley, Pathfinder, hardware, and Dynamic (generating filter code in real time). And "Protocol Processing" looks at some miscellaneous tasks that can become bottlenecks: buffer management, CRC checks and checksums, TCP and UDP protocol processing, and packet reassembly.

So far I've only skimmed Part III, "Playing with Routers". This has chapters on "Exact-Match Lookups", "Prefix-Match Lookups", "Packet Classification", "Switching", "Scheduling Packets", and "Routers as Distributed Systems". And Part IV offers chapters on "Measuring Network Traffic" and "Network Security", along with a summary and overview.

Varghese gets right down into the details in some places, but he sets the material he covers into its broader context. He often takes a historical approach, looking at how implementations have been driven by changing requirements. And he stresses that only with a broad view can the overall costs and possible optimizations be seen: with web server performance, for example, it is necessary to consider "the whole system, from HTTP and its headers, to the file system, and down to the instruction caches". Where many computing disciplines emphasize the isolation of components, network algorithmics stresses links across layers and boundaries. (It's not overdone, but approaches and principles are often illustrated with analogies to ordinary life serving tables in a restaurant, for example or parallels with other areas of computing.)

Purists might find the practical approach of network algorithmics distressing Varghese admits that it "may seem drab and shallow" compared to "the beauty of theoretical techniques" but it has an attraction all of its own. I've often felt that "computer science" as commonly constructed lacks any coherence, spanning everything from nearly pure mathematics to hardware and engineering, but Network Algorithmics has made me rethink that.

Little in Network Algorithmics is relevant to my job as a system and network administrator I just plug switches in and configure them, and don't have to worry about their internals but I found it fascinating. Apart from curious general readers with a computer science background, or hackers who enjoy stretching their minds, the obvious audience is anyone building high-performance network devices or looking at optimization of networking code, say in the Linux kernel.

Danny Yee has written over 900 other book reviews."


You can purchase Network Algorithmics: An Interdisciplinary Approach to Designing Fast Networked Devices from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

cancel ×

55 comments

Sorry! There are no comments related to the filter you selected.

TROUT ALGORITHMICS! (-1, Troll)

Anonymous Coward | about 8 years ago | (#15951054)

I AM A FISH!

Re:TROUT ALGORITHMICS! (-1, Offtopic)

WilliamSChips (793741) | about 8 years ago | (#15951071)

*slaps Anonymous Coward around a bit with a large trout*

I am fucking awesome! (-1, Troll)

Anonymous Coward | about 8 years ago | (#15951066)

You may worship me below.

As a Jaffa, (-1, Offtopic)

WilliamSChips (793741) | about 8 years ago | (#15951096)

I will never worship a false god again.

Re:As a Jaffa, (-1, Offtopic)

Anonymous Coward | about 8 years ago | (#15951133)

Your loss.

Re:As a Jaffa, (0, Offtopic)

MindStalker (22827) | about 8 years ago | (#15951187)

I had to lookup ECW on Sci-Fi.

I am now terrified.. Unless there is lasers comming out of their freaken heads.

Band...aid. (-1, Offtopic)

Anonymous Coward | about 8 years ago | (#15951077)

"which Varghese calls "network algorithmics"."

The Eurythmics for the 20th century.

oh please (5, Insightful)

imsabbel (611519) | about 8 years ago | (#15951095)

"So far I've only skimmed Part III, "Playing with Routers"."
dear danny,
Next time, wait until you actually READ the book before writing a review.

Re:oh please (4, Funny)

$RANDOMLUSER (804576) | about 8 years ago | (#15951160)

Did it really say that?
I only skimmed the review.

Re:oh please (4, Funny)

creimer (824291) | about 8 years ago | (#15951194)

What said what?
I only skimmed the last comment.

Re:oh please (1)

Rakshasa Taisab (244699) | about 8 years ago | (#15951800)

OMG, I actually did all the former in addition to guessing the content of yours. /. just doesn't suprise me anymore.

Re:oh please (1)

g1zmo (315166) | about 8 years ago | (#15953558)

Huh? Who's talking?

Re:oh please (1)

creimer (824291) | about 8 years ago | (#15955475)

Better yet, who's on third? :P

oh please-Punctuation. (0)

Anonymous Coward | about 8 years ago | (#15951509)

And I got the leftovers.

Re:oh please (1)

Breakfast Pants (323698) | about 8 years ago | (#15951389)

Exactly. While I don't doubt that some reviewers don't read everything they review, I've never seen one admit it like that.

Re:oh please (1)

eh2o (471262) | about 8 years ago | (#15953066)

I'm guessing the reviewer meant "I've only skimmed part 3" in the sense of "I've read the rest of the book but only skimmed through this part"...

Just a case of bad wording, they are not really *that* negligent.

Re:oh please (1)

Lord Omlette (124579) | about 8 years ago | (#15952227)

The next question, I guess, is how many of the other 900 reviews went the same way?

Re:oh please (0)

Anonymous Coward | about 8 years ago | (#15952830)

He didn't have time to finish because he had to rush off to write one of his other 900 unread book reviews.

Re:oh please (1)

Kuvter (882697) | about 8 years ago | (#15953789)

But there in lies the catch 22. If he read them all, he wouldn't have had the time to write 900+ reviews.

ATT MODS - I'M STILL FUCKING AWESOME (-1, Offtopic)

Anonymous Coward | about 8 years ago | (#15951168)

mod me down ye heathens!

Maybe I'm reading this wrong... (1)

creimer (824291) | about 8 years ago | (#15951180)

So this is a review of "Network Orgasm"? It's about Hugh Hefner and his three blond girlfriends? Now that's a network to run. :P

Article text in case of slashdotting (-1, Offtopic)

Anonymous Coward | about 8 years ago | (#15951199)

After an introduction in chapter one to bottlenecks and techniques for avoiding them, Varghese provides a brief overview of protocols, hardware, network architectures, and operating systems, with examples, in chapter two. This is best suited as a refresher: Network Algorithmics assumes a general familiarity with networking protocols, operating systems and computer architecture, and if used as a text would be suitable for higher undergraduates. (The exercises at the end of each chapter are often open-ended.)

Chapter three introduces the fifteen implementation principles that are the core of Network Algorithmics: P1 Avoid obvious waste; P2 Shift computation in time (precompute, evaluate lazily, share expenses or batch); P3 Relax system requirements (trade certainty or accuracy for time, shift computation in space); P4 Leverage off system components (exploit locality, trade memory for speed, exploit existing hardware), P5 Add hardware (use memory interleaving and pipelining, use wide word parallelism, combine DRAM and SRAM effectively); P6 Create efficient specialized routines; P7 Avoid unnecessary generality; P8 Don't be tied to reference implementation; P9 Pass hints in layer interfaces, P10 Pass hints in protocol headers; P11 Optimize the expected case (use caches); P12 Add state for speed (compute incrementally); P13 Optimize degrees of freedom; P14 Use bucket sorting, bitmaps; and P15 Create efficient data structures. Chapter four presents fifteen problems that illustrate these principles in action, with hints to solutions.

Part II of Network Algorithmics is devoted to end-nodes. A chapter "Copying Data" takes a web server, delivering files from disk to network, as the prototype, and explores different approaches to reduce pressure on the memory and I/O bus by reducing the number of copies required: copy-on-write, fbufs, RDMA, IO-Lite, and more. It also touches on making cache use more effective and the tantalizing possibilities of "integrated layer processing".

"Transferring Control" looks at minimizing scheduling overhead and maximizing concurrency: at context-switches, processes, threads, and event-driven servers. It evaluates the existing Unix select() call and considers ways of speeding it up, with and without changing the API. And it touches on ways of avoiding system calls and reducing interrupt overhead.

There are three shorter chapters. "Maintaining Timers" explores hashed and hierarchical timing wheels, the BSD implementation, and fine granularity. "Demultiplexing" looks at the development of packet filters: CMU/Stanford, Berkeley, Pathfinder, hardware, and Dynamic (generating filter code in real time). And "Protocol Processing" looks at some miscellaneous tasks that can become bottlenecks: buffer management, CRC checks and checksums, TCP and UDP protocol processing, and packet reassembly.

So far I've only skimmed Part III, "Playing with Routers". This has chapters on "Exact-Match Lookups", "Prefix-Match Lookups", "Packet Classification", "Switching", "Scheduling Packets", and "Routers as Distributed Systems". And Part IV offers chapters on "Measuring Network Traffic" and "Network Security", along with a summary and overview.

Varghese gets right down into the details in some places, but he sets the material he covers into its broader context. He often takes a historical approach, looking at how implementations have been driven by changing requirements. And he stresses that only with a broad view can the overall costs and possible optimizations be seen: with web server performance, for example, it is necessary to consider "the whole system, from HTTP and its headers, to the file system, and down to the instruction caches". Where many computing disciplines emphasize the isolation of components, network algorithmics stresses links across layers and boundaries. (It's not overdone, but approaches and principles are often illustrated with analogies to ordinary life serving tables in a restaurant, for example or parallels with other areas of computing.)

Purists might find the practical approach of network algorithmics distressing Varghese admits that it "may seem drab and shallow" compared to "the beauty of theoretical techniques" but it has an attraction all of its own. I've often felt that "computer science" as commonly constructed lacks any coherence, spanning everything from nearly pure mathematics to hardware and engineering, but Network Algorithmics has made me rethink that.

Little in Network Algorithmics is relevant to my job as a system and network administrator I just plug switches in and configure them, and don't have to worry about their internals but I found it fascinating. Apart from curious general readers with a computer science background, or hackers who enjoy stretching their rectums, the obvious audience is anyone building high-performance network devices or looking at optimization of networking code, say in the Linux kernel.

target audience (0)

l3v1 (787564) | about 8 years ago | (#15951225)

I've often felt that "computer science" as commonly constructed lacks any coherence, spanning everything from nearly pure mathematics to hardware and engineering, but Network Algorithmics has made me rethink that.

Ok, first sign that this is a book more in the "magazine" style than in the "scientific" style.

Apart from curious general readers with a computer science background, or hackers who enjoy stretching their minds, the obvious audience is anyone building high-performance network devices or looking at optimization of networking code, say in the Linux kernel.

I hope those who build those devices and work on optimizations in those codes have better education than such. For amateurs and generally interested, fine. But honestly, one who doesn't have the background and doesn't even have read the thing, pretty bald recommendations are made up there. In fact this review has been good: it saved me time since I know now that it'd be a waste of time.
 

Bald recommendations? (0)

Anonymous Coward | about 8 years ago | (#15951242)

I find your ideas fascinating and would like to subscribe to your newsletter.

Re:Bald recommendations? (0)

Anonymous Coward | about 8 years ago | (#15951372)

Done and Done!

Re:target audience (3, Informative)

angio (33504) | about 8 years ago | (#15952744)

Before you jump to conclusions, keep in mind that Varghese is one of the leading experts in the design of routing algorithms and similar topics. Take a peek at his industrial impact [ucsd.edu] list; he's not kidding. The fast route lookup algorithm he developed while at WUSTL was, along with some work done concurrently at Lulea university in Sweden, the most major advance in fast route lookup algorithms in about a decade. In other words - don't judge the book by the qualifications of someone who decided to review it.

Though the reviewer is right - many of the algorithms in the book would be useful in software-based routers, though there's room for caution: some of them are encumbered by patents of various sorts, and are recent enough that they'll remain so for a while.

In other news (2, Insightful)

donaggie03 (769758) | about 8 years ago | (#15951276)

Modern interstate highways have to handle traffic in huge volumes at low latencies; achieving this requires ideas and approaches from all of science: hardware, algorithms, traffic laws, automobile engineering and their integration in a discipline which Donaggie03 calls "traffic algorithmics"

Re:In other news (1)

karnal (22275) | about 8 years ago | (#15951690)

You have obviously never been in a "large city" on this "interstate highway" during "rush hour". Huge volumes of traffic, but the latency keeps spiraling out of control.

Re:In other news (2, Funny)

donaggie03 (769758) | about 8 years ago | (#15952174)

Hey I never said the system was perfect.

Your concerns will be addressed in TrafficStop 2.0 :)

Re:In other news (1)

karnal (22275) | about 8 years ago | (#15953302)

It's fun in my city (Columbus, Ohio) - land of people who get pissed at waiting in traffic for 5 minutes!!!

OH NO THE HORROR!

Of course, there are times it gets on my nerves too, but then I think about having a commute in say, Chicago... I hear it's horrible.

Re:In other news (0)

Anonymous Coward | about 8 years ago | (#15953692)

Actually, transportation science concerns economics, civil engineering, urban planning, vehicle engineering, and also makes use of social sciences, applied mathematics and computer science. And yes, there are many books written about different aspects of transportation planning, from practical to highly theoretical. Improving the highway system is certainly at least as challenging as improving computer networks.

Network Analytics book review (5, Interesting)

dougbaker (934517) | about 8 years ago | (#15951350)

I too have read this book, and it remains one of several that is open somewhere under all the clutter on my desk. Since I write network applications, mostly in the monitoring
and traffic analysis space, for a living such things are of keen intrest to me. I can
thus recommend it without reservation.

Network Analytics book review -from another reader (1)

dinuraj (838444) | about 8 years ago | (#15954449)

I have read the book and liked it very much.. I write drivers and applications on routers of a reputed company and encounter the problems mentioned in the book almost on a day-to-day basis. The algorithms and case studies in book are really good and they are valid in the present state of network devices. I would recommend this book any engineer working on networking devices and applications.

In addition, the products George Varghese's research work were implemented by different network device manufactures including Cisco, Juniper, Procket etc. Lot of research papers can be found in his homepage [ucsd.edu] .

Save some money by buying the book here! (-1, Offtopic)

Anonymous Coward | about 8 years ago | (#15951451)

Save yourself some money by buying the book here: Network Algorithmics [amazon.com] . And if you use the "secret" A9.com discount [amazon.com] , you can save an extra 1.57%!

Hmm, interdisciplinary (1)

Colin Smith (2679) | about 8 years ago | (#15951492)

Something traffic planners should read I reckon.

 

Here is a review from Cisco.com (5, Informative)

viking2000 (954894) | about 8 years ago | (#15951526)

Seems this same book was reviewed by someone who actually read it:
http://www.cisco.com/web/about/ac123/ac147/archive d_issues/ipj_8-3/book_review.html [cisco.com]

and i copy:

Book Review
Network Algorithmics
Network Algorithmics: An Interdisciplinary Approach to Designing Fast Networked Devices, by George Varghese, ISBN 0120884771, Morgan Kaufmann, 2004.

This is not a generic algorithms book (that is, it does not overlap much at all with Sedgewick or Coleman as an introduction to algorithms), nor is it a typical introduction to TCP/IP networking book (for example, there is no chapter defining the TCP/UDP/IP header fields, thank goodness). It might best be described as an algorithms analysis book set in the context of networking and also in the context of implementations that mix hardware and software solutions. For those familiar with Radia Perlman's book Interconnections, I found aspects of the writing style and approach to be similar. George Varghese--in addition to having been a networking professor for many years--has had a lot of industry experience from licensing algorithms to networking companies, to consulting with Procket Networks in the company's early days of architecting its core router, to starting a security company that was recently acquired by Cisco Systems. I have been doing architecture work at Cisco for several years and can say that George's book has real grounding in how systems are built and analyzed today.

Organization
Chapter 2 presents abstractions for networking protocols, hardware design, routers, memory technology, and Internet end nodes (servers). This is a great introduction into "systems" thinking. In section 2.2.7, "Final Hardware Lessons," one thing I thought George should have mentioned along with metrics of chip size, speed, I/O, and memory is power. Power is becoming a major systems concern in many platforms and deserves mention as an optimization constraint.

Chapters 3 and 4 go through a list of 15 implementation principles to use in approaching algorithmic design in systems and then give examples of these principles in action. What I find interesting about this section is that from working with George in the past, he really does believe and practice "principle"-based architecture thinking. I remember discussing several of the principles with him several years ago, and you can see how his many years of experience working in the networking field have shaped these principles. Many have probably employed some of these, but as George says in the chapter introduction, having them explicitly documented with examples is useful to help clarify our thinking. Some of the principles (and both the short examples in this chapter as well as examples cited in more detail in later chapters) are really fundamental, and I think reading through examples helped clarify in my mind when to use them.

Chapter 5 covers copying data, for example, in a server design. I really like this type of chapter, in which a subject (in this case the effect of packet copying on Web server performance) is explored in detail but with a focus on where algorithms and systems design play an important part.

My biggest question about this chapter is that I was unsure how applicable this is to, say, modern server design using Linux and with latest Gigabit Ethernet network-interface-card (NIC) designs. I know there was a lot of interesting work in the late 1990s, but this chapter without any data is more along the lines of an extended example of how to apply implementation principles.

Chapters 6 through 9 are not what I would consider the meat of the book; they treat the topics of implementation and analysis for servers, timers, parsing/classification of packets, and buffer management (memory allocation).

Chapter 10 covers exact match lookups. There is not a lot of meaty algorithmic discussion, but the history of scaling performance of bridges is used to elegantly show an evolution of algorithmic approaches to exact matching.

Chapter 11 is an awesome overview of the state-of-the-art in longest prefix match (used for destination address matching in routers and switches). A good read of this chapter will yield an understanding of the trade-offs in all major published algorithms, although there may be variations or tuned versions of these algorithms in use at companies like Cisco. I believe this chapter covers all the major categories of solutions.

Chapter 12 extends the prior chapter into more general packet classification (which is used in applications like extended access lists). Like the lookup chapter, this chapter addresses one of George's prime core competencies. There is good discussion on leading published approaches (Grid-of-Trie, cross producting, geometric, and decision treebased approaches). I strongly recommend this chapter.

Chapters 13 and 14 cover packet switching (that is, architecture of fabrics like crossbars for connecting line cards in a router or switch) and then packet scheduling. These topics get a good academic treatment (after all, George is one who introduced Modified Deficit Round Robin (MDRR) to the industry as well as academia), and although there are gaps between what many networking markets are defining as requirements for packet scheduling and what is in this chapter, the chapter is still useful.

Chapter 15 is a short chapter that tries to treat at a high analytic level the algorithmic problems involved with routing protocols. It covers this topic without getting very specific into nonrelevant (to the analysis) networking details.

Chapter 16, which addresses measuring network traffic, was probably one of my least favorite chapters. Some of it is academically interesting but requires network level changes that I just do not think will occur. There are some cute tricks relative to counters and such, but I think they are similar to approaches already being used.

Chapter 17 is a network security chapter and seems to serve as an early introduction to the topic of algorithms in network security; this is not a major focus area of the book.

Areas for Improvement
There is always room for improvement, and I list here three areas in which this book could have been improved:
1. There is a running thread in the book of prefacing technical discussions in some cases with an example from the "normal world," like comparing packets to envelopes in the postal system. I estimate this is less than 1 percent of the content of the book and fairly easy to ignore if it annoys you.
2. I would have enjoyed better (more detailed) figures. A well-done, detailed figure can incorporate multiple concepts in the text around it and make it much clearer. On the positive side, there are numerous figures in the specifications, even if they do tend to be simple and high level.
3. Another area that I would have enjoyed seeing more on is empirical data (tables of data and graphs). I enjoy detailed empirical data of the type that Hennessy and Patterson so effectively use in their Computer Architecture book. There are many places (for example, Web server optimizations in Chapter 5) that I think could have benefited from detailed empirical data. However, I think folks often rely on empirical data too much when a simple analysis like the type done throughout the book could be done to help optimize the problem.

Recommended
Many chapters in this book are directly relevant to the development of networking equipment and software, as well as what is "under the hood" of networking equipment. The book is fun to read and I believe succeeds in trying to convey an organized systems approach to thinking about problems in the networking space.

--Will Eatherton

Who Varghese is (4, Informative)

slashdotmsiriv (922939) | about 8 years ago | (#15951577)

For the record, George Varghese is professor at University of California, San Diego at the dpt of Computer Science.

His research has been extremely influential in both academia and industry.

Among the numerous of his papers that introduced novel and complete solutions to difficult networking problems,
is for example "Trading Packet Headers for Packet Processing", which introduced the concept of tag/label switching,
what is mostly known to us today as MPLS.

Re:Who Varghese is (0)

Anonymous Coward | about 8 years ago | (#15955528)

I had Varghese as one of my profs. at UCSD. He was one of my best profs. I actually enjoyed going to office hours and talking networking, ... He was very approachable and actually seemed to care about the student. Keep up the good work.

Hey (1)

solid_liq (720160) | about 8 years ago | (#15951584)

What, no information as to why rebuilding your TCP/IP stack from scratch and immediately releasing it with a major operating system to the public as being more secure is a bad idea? I won't mention any names here... Hey, have you been to Redmond, Washington lately?

Re:Hey (1)

kfg (145172) | about 8 years ago | (#15951673)

I won't mention any names here...

Bill Joy?

KFG

Re:Hey (1)

Doctor Memory (6336) | about 8 years ago | (#15956369)

BSD was hardly a major operating system at that time. A major research system, maybe.

Re:Hey (1)

kfg (145172) | about 8 years ago | (#15956831)

Until Bill rewrote the stack and Berkeley offered it to the public, although the interested public was admitedly rather small.

KFG

Brilliant man (0, Redundant)

pestilence669 (823950) | about 8 years ago | (#15951758)

I've worked for this man. He seriously knows what he's talking about.

one-pass algorithms? (2, Interesting)

Gospodin (547743) | about 8 years ago | (#15951968)

When I read the title of this book, I expected it to be about efficient one-pass algorithms, i.e. ones that you can do quickly on a stream of network information without using a ton of memory or CPU time per packet. I took a course in grad school a few years back about this, and it's a pretty interesting (and relatively recent) subject. You can read more about it here (home page of my prof): http://www.cs.rutgers.edu/~muthu/ [rutgers.edu] .

When will people learn... (0)

Anonymous Coward | about 8 years ago | (#15952147)

The 'rithm method just does not work. *bang head*

Re:When will people learn... (0)

Anonymous Coward | about 8 years ago | (#15952388)

That's not what yo' momma said!

Morgan Kauffman (1)

jefu (53450) | about 8 years ago | (#15952367)

I have not read this book, but as a general rule, Morgan Kauffman is an exemplary publisher. hey seem to choose excellent authors and editors. The books are most often well produced and when I buy one it usually ends up being a long term keeper. Just as well, as they also tend to be pricey. Indeed, MK is one of the few publishers from whom I'll purchase a book of interest without actually physically examining it.

Re:Morgan Kauffman (1)

moro_666 (414422) | about 8 years ago | (#15953853)

He may be a wise man, but his boat obviously has fed the developers of IE ... snippets that match and that we sometimes all hate :)

P2 Shift computation in time (precompute, evaluate lazily, share expenses or batch);
P3 Relax system requirements (trade certainty or accuracy for time, shift computation in space);
P4 Leverage off system components (exploit locality, trade memory for speed, exploit existing hardware),
P7 Avoid unnecessary generality;
P8 Don't be tied to reference implementation;
P11 Optimize the expected case (use caches);

I wish that those m$ zombies would have paid more attention to the other points in the book too :(

Latency (1)

wildsurf (535389) | about 8 years ago | (#15952404)

Modern network devices have to handle traffic in huge volumes at low latencies

HIGH latencies. Networks have HIGH latencies. Come on now, editors.

Re:Latency (1)

c.scrim (991741) | about 8 years ago | (#15953559)

HIGH latencies. Networks have HIGH latencies. Come on now, editors.

I think he means "... handle traffic in huge volumes while providing low latencies."

Re:Latency (0)

Anonymous Coward | about 8 years ago | (#15953966)

>> Modern network devices have to handle traffic in huge volumes at low latencies
> HIGH latencies. Networks have HIGH latencies. Come on now, editors.

You'd assume the author was talking about internal latencies of networking devices (like switches) that nowadays operate at wirespeed with latencies equaling to time required to transmit the VLAN tag and MAC-addresses (20 bytes?). Individually network devices have low latencies but when dealing with multiple hops and overloaded lines (equals buffering equals latency or at worst drops) latencies add up, but that's beyond any individual device.

useful for programmers (3, Interesting)

Vesuvius (14201) | about 8 years ago | (#15953683)

I primarily bought this book for the very interesting treatment of data structures for storing large numbers of IP addresses and CIDR networks. Having already worked with the LCTrie http://www.nada.kth.se/~snilsson/public/papers.htm l [nada.kth.se] to deal with very large numbers of networks, I found the discussion of Lulea vs. LCTrie and other formats quite useful. The fact that I don't do hardware level work didn't make those sections any less interesting.

UCSD (1)

ShakaUVM (157947) | about 8 years ago | (#15954022)

Yet another UCSD post. Last one was the guy who made a saw that wouldn't chop off your fingers, and before that it was the Chez Bob (Prof Savage) in the CSE Grad lounge.

Almost makes me proud to be an alumni. ;)

Grammar nazi (0)

Anonymous Coward | about 8 years ago | (#15955607)

Almost makes me proud to be an alumni. ;)

And he asked him, What is thy name?
And he saith unto him, My name is ShakaUVM; for we are many.

nice (1)

TheLibero (750207) | about 8 years ago | (#15978202)

this is a great review for what it seems like a great book. i can't understand why it hasn't got that much of interest :O
Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>