tcp offloading에 관한

noenemy의 이미지

tcp offloading에 관한 자료를 좀 얻고 싶습니다.

구현에 관한거란지 소스라던지 혹시나 자료를 가지고 계신분은

공유를 해주시면 정말감사! :D

자료를 쭈욱 찾아 봤는데 소스라던지 구현에 관한 자료는 잘 안보이더군요

혹시나 찾을 수 있을거라 짐작가는 사이트 라도 추천 해주셨으면 합니다.

(구글을 제외한..-_-; )

쿨링팬의 이미지

제품은 몇 개 나와서 드라이버를 closed 상태로 제공하는것 같고

그나마 소스 코드 형태로 된 걸 보고 싶으시면
InfiniBand 사이트에 가 보시면 되는데
이것도 역시 InfiniBand를 지원하는 카드에 맞도록 제작되어 있습니다.

저도 연구실에서 이 쪽으로 지금 연구하고 있는데
자료가 참 없더라구요

http://infiniband.sourceforge.net/
http://infiniband.sourceforge.net/NW/SDP/index.htm

emptysky의 이미지

답변이 아니라 죄송하지만,
offloading...
음.. 좀 생소하네요

간단한 개념 설명을 해주실수 있나요? :lol:

『 아픔은.. 아픔을 달래줄 약이 무엇인지 알면서도 쓰지 못할 때 비로소 그 아픔의 깊이를 알수가 있음이다. 』
『 for return...』

익명 사용자의 이미지

TOE(TCP/IP Offload Engine)는 TCP/IP Protocol Stack을 Adapter에서 처리하도록 하는 것입니다.
일반적으로 Adapter가 H/W적으로 처리하는 Chip을 내장하고 있는데...일반 Adapter에서 이를 지원하여면 device driver가 이를 처리하도록 구현되어야 하지 않을까요?

emptysky의 이미지

음...Adapter 라 함은 tcp/ip 를 하드웨어에서 처리한다는 말씀으로 이해하겠습니다.

하드웨어적인 처리를 풀어서 한번 생각해 봤습니다.
어떤게 하드웨어적인 처리인가...?
나름대로 내린 결론은...

일반적인 패킷이 들어오게 되면 커널내부의 네트웤 코드를 타게되는데 이러한 코드들을 칩에 구워서 칩하나에 박아넣으면 하드웨어적인 처리이다 -_-a

태클 환영입니다 :oops:

『 아픔은.. 아픔을 달래줄 약이 무엇인지 알면서도 쓰지 못할 때 비로소 그 아픔의 깊이를 알수가 있음이다. 』
『 for return...』

익명 사용자의 이미지

TCP/IP Offload Engines (TOEs), are chips that offload TCP/IP processing from the host CPU, freeing up valuable CPU cycles for application processing.
form ...
http://graphics.adaptec.com/pdfs/TOE_LetsTalk2.pdf

mach의 이미지

맞게 이해하신 듯... wrote:
TCP/IP Offload Engines (TOEs), are chips that offload TCP/IP processing from the host CPU, freeing up valuable CPU cycles for application processing.
form ...
http://graphics.adaptec.com/pdfs/TOE_LetsTalk2.pdf

잠시 읽어보고, 잡담스럽게 써봅니다. 딴지 걸어주세요.

*개요

Quote:
TCP Overhead Rule: 1 Hz for 1 bit/sec

즉, 1bps처리에 1Hz의 CPU사이클을 사용한다라는 얘기인데,
*문제점
만일, 1GHz CPU라면 1Gbps TCP/IP통신 라인을 위해,
순수 TCP 프로토콜스택(flow control,등 필요기능 무지많음; 관련 RFC참조)을
위해서만 전체 컴퓨팅 파워를 소진하게 된다는 얘깁니다.
따라서, 1 Gbps트래픽을 처리하는 서버라면, 서버의 응용프로그램 오버헤드를 더해서 CPU의
컴퓨팅 파워가 한층(!) 증가되어야만 한다는.....
또한, NIC에서 버스타고 CPU타고, 연산하고, 다시 버스타고 NIC타는 자주 갈아타는 :twisted: 문제까지....

* 해결책은?
1. 프로토콜스택에서 발생하는 오버헤드를 전용프로세서에게 넘기자!
2. 응용프로그램의 프로세싱에만 CPU를 사용하자.
* 솔루션중 하나는?
1. TCP Offloading Engine을 탑재한 하드웨어를 사용한다!
2. 그외(아마도 다수 존재할듯)

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

hyper9의 이미지

그럼 TOE 전용 HW가 있어야 한다는 의미이군요..

기존에 판매되고 있는 PC, Server, Blade Server 등등에서
TOE가 지원되는 기종이 있나요?
아님 혹시 사용해보신적이 있으시거나, 사용하시고 계신 분이
계시면 ,간단히 소개해 주셔도 너무 감사할 것 같네요 ^^

모지리의 이미지

첼시오 카드를 사용해 보았습니다. 그런데 제약점들이 좀 있습니다.
예를 들면 커널레벨에서 처리가 되지 않으므로 기존의 커널에서 어떤
동작을 하게끔 만든 기능들이 작동이 되지 않습니다. 그래서 대부분
TOE 기능이 되는 카드들의 경우 유사한 기능을 카드에 넣어 놓습니다.

그런데 TOE 자체의 기능 때문에 나온 칩들은 아니고 10G 이더넷을 위해서
속도 때문에 TOE를 지원하는 경향입니다.

근데 이거 쓰레드가 상당히 오래된거네요. ㅎㅎ

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.