IO bound Job

swunk의 이미지

책에 보면은 IO bound job, cpu bound job으로 리눅스 프로세스를 분류한것을 본적이 있습니다.
IO bound job 은 네트워크를 통한 대량의 트래픽 송수신 정도의 작업이 될 것이고, cpu bound job은 멀티미디어 재생 등의 작업이 되리라 생각합니다. (맞나요 ?--;)

하드에서 데이터를 읽어와서 메모리에 이를 write하고 이를 네트웍으로 송신하는 작업도 전형적인 io bound job일것 같습니다. 이때 하드에서 데이터를 읽어와서 메모리에 쓰는 작업은 DMA 로 발생할것이구요..
(예를 들면 vod server로 동작하는 시스템인 경우는 자신의 하드에 있는 데이터를 계속 해서 메모리에 쓰고, 이를 다시 네트웤으로 송신하는 작업을 계속 수행하는 경우가 이에 해당하겠지요...)

여기서 질문입니다.

먼저 제가 알고 있는 내용이 맞다면 위와 같은 작업을 수행하는 동안 해당 시스템의 cpu 점유율은 얼마안될것이라고 생각합니다. 왜냐하면 하드에서 메모리로 데이터를 읽어오는 작업은 DMA로 발생할 것이고 기껏해야 vod 서버 응용에서 시스템 콜 몇번 수행해서 네트워크로 write하는게 전부이기 때문이라고 생각합니다. 제가 알고 있는게 맞나요 ?

위의 내용이 맞다면 요새 나오는 성능 빵빵한 pc에서 HD급 2채널 정도의 데이터(약 40Mbps 정도가 되겠지요 ?)를 네트워크로 write하는 것은 일도 아닐것 같은데요..막상 테스트해보면 이게 그렇지가 않다고 하네요...제가 직접 테스트해 본것은 아닙니다만... 저는 예전에 ttcp로 tcp 채널을 열어서 거의 90메가 이상의 성능이 나온것을 확인 했었거든요..ttcp와 위의 예와의 차이는 데이터를 하드에서 부터 읽어 오고 아니고의 차이밖에 없는데요..(참고로 ttcp는 패킷을 생성해서 송신하는 기능을 하는 프로그램입니다.)

질문이 영 두서가 없네요...급한 맘에 적느라..
제가 뭘 잘못 알고 있는거고 뭘 모르고 있는건지 알려주세요.;..

그럼 답변 기다리겠습니다.

hey의 이미지

음. 하드에서 읽는 작업은 DMA가 해준다고 해도 프로세스는 IOWAIT로 블럭되기 때문은 아닐까요?

May the F/OSS be with you..



----------------------------
May the F/OSS be with you..


댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.