I/O Bound Library Support?
CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 3 of 3

Thread: I/O Bound Library Support?

  1. #1
    Join Date
    Apr 2010
    Posts
    2

    I/O Bound Library Support?

    Intel TBB provides a great foundation for expressing parallelism in applications that are mostly compute-bound. But threading is also often used as a way to handle multiple I/O requests, where developers face their own thread coordination challenges.

    What kinds of support functions might we see in a threading library designed for I/O-oriented multi-threaded applications?
    Share on Google+

  2. #2
    Join Date
    Apr 2010
    Posts
    27

    Re: I/O Bound Library Support?

    I adhere to the question.
    Perhaps, I would not call it exactly IO bound. Whether a program is IO bound or CPU bound or not bound at all highly depends on an environment - network characteristics, disk characteristics, number of cores/processors, workload characteristics, etc. So the same program can perfectly be IO bound in one environment, and CPU bound in another.
    So I would describe it as programs that both IO and CPU intensive and contain a lot of "unstructured concurrency" (not just number-crunching with parallel_for).
    Such patterns can be found in server software (network servers, application servers, database servers, web servers), middle-ware, games, etc. IMVHO, it's more than 50% of applications that require any concurrency support, and currently Intel provides basically no support for such applications.
    Share on Google+

  3. #3
    Join Date
    Apr 2010
    Posts
    15

    Re: I/O Bound Library Support?

    "IO bound" applications were never the purview of TBB. The design was directed toward loop-level parallelism. I was trying to find a quote to that effect, but can't locate one.

    A library that supported IO bound operations would probably need something to spawn asynchronous IO requests from tasks that would allow the task to do some other computation until the request was needed/satisfied. There are plenty of examples available in threading libraries currently in use that can be adapted to that purpose. I suppose if TBB were to incorporate this kind of operations it would adapt these kinds of ideas.
    Clay Breshears
    Intel Innovative Software Education

    "There are no evil threads; just threads programmed for evil."
    Share on Google+

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Azure Activities Information Page

Windows Mobile Development Center


Click Here to Expand Forum to Full Width

This is a CodeGuru survey question.


Featured


HTML5 Development Center