OpenBSD Multimedia Resources List
Links on this page refer to multimedia resources (podcast, vodcast,
audio recordings, video recordings, photos) related to OpenBSD or
of interest for OpenBSD users.
This list is available as chronological
overview, as a tag cloud and
via the sources.
This list is also available as RSS feed
If you know any resources not listed here, or notice any dead links,
please send details to
Edwin Groothuis so that
it can be included or updated.
Tag: adrian chad
Adrian Chad - What Not To Do When Writing Network Applications
Source: BSDCan - The Technical BSD Conference
Added: 21 May 2008
Tags: bsdcan, bsdcan2008, slides, network applications, adrian chad
PDF file (190 Kb, 73 pages)
What Not To Do When Writing Network Applications
The lessons learnt working with not-so-high-performance network applications
This talk will look at issues which face the modern
network application developer, from the point of
view of poorly-designed examples. This will cover
internal code structure and dataflow, interaction
with the TCP stack, IO scheduling in high and low
latency environments and high-availability
considerations. In essence, this presentation should
be seen as a checklist of what not to do when writing
network applications.
Plenty of examples of well designed network
applications exist in the open and closed source
world today. Unfortunately there are just as many
examples of fast network applications as there are
"fast but workload specific"; sometimes failing
miserably in handling the general case. This may
be due to explicit design (eg Varnish) but many are
simply due to the designer not fully appreciating
the wide variance in "networks" - and their network
application degrades ungracefully when under duress.
My aim in this presentation is to touch on a wide
number of issues which face network application
programmers - most of which seem not "application
related" to the newcomer - such as including
pipelining into network communication, managing a
balance between accepting new requests and servicing
existing requests, or providing back-pressure to a
L4 loadbalancer in case of traffic bursts. Various
schemes for working with these issues will be
presented, and hopefully participants will walk
away with more of an understanding about how the
network, application and operating systems interact.
|
|