Skip site navigation (1) Skip section navigation (2)

FreeBSD Multimedia Resources List

Links on this page refer to multimedia resources (podcast, vodcast, audio recordings, video recordings, photos) related to FreeBSD or of interest for FreeBSD 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.