About IT/유용한 정보.(6)
-
MTU Size
There is an obvious reason why the frame payload size was chosen to be 1500 bytes. A frame size of 1500 bytes, offers, maximum efficiency or throughput.As you know, ethernet frame has 8 byte preamble, 6 byte source and 6 byte destination mac address, mac type of 2 bytes, and 4 bytes CRC. Assuming the MTU payload to be 1500 the total number of bytes comes to 1500 + 8 + 6 + 6 + 2 + 4 = 1526 bytes...
2016.05.17 -
Reliable UDP
출처: http://blog.naver.com/chikicon?Redirect=Log&logNo=60036633811 1 개요 UDP는 명시적인 연결이 없고, 데이터그램 단위로 데이터를 전송하는 프로토콜이다. 흐름 제어 역시 없기 때문에 전송된 데이터가 순서대로, 반드시 도착하리라는 보장도 없다. 대 신 명시적인 연결이 없기 때문에, 대등한 관계, 즉 두 피어가 동시에 시작이 되는 경우에는 유용할 수 있다. TCP 같은 경우에는 어느 한쪽이 반드시 패시브 모드로 리스닝을 하고 있어야 하기 때문에, 앞에 말한 것과 같은 경우에는 쓰기가 애매하다. 하지만 그대로 쓰기에는 흐름 제어가 없기 때문에 곤란하다. 그렇다고 이것저것 다 집어넣다보면 UDP를 가장한 TCP가 되어버린다. 그래서 생각한 것이 순서의 보장..
2016.05.16 -
Direct IO / Buffered IO
https://sort.symantec.com/public/documents/sf/5.0/aix/html/fs_admin/ag_ch_interface_fs4.html Buffered and Direct I/O The VxFS responds with read-ahead for sequential read I/O. This results in buffered I/O. The data is prefetched and retained in buffers, in anticipation of application asking for it. The data buffers are commonly referred to as the VxFS buffer cache. This is the default VxFS behav..
2015.06.02 -
퍼옴] 컴파일러 최적화의 장애물: 포인터
출처: http://minjang.egloos.com/1712295 포인터는 C/C++ 언어의 가장 큰 장점이지만 동시에 많은 버그의 원인이 되기도 한다. 포인터는 정말 강력한 도구로서 로우레벨의 접근을 용이하게 한다. 그래서 막연하게 포인터로 프로그래밍을 하면 최적화를 많이 할 수 있으리라 생각한다. 그러나 최적화라는 것을 컴파일러가 자동적으로 수행하는 것으로 한정지으면 이야기가 달라진다. 포인터는 컴파일러 최적화의 가장 큰 장애물이다.컴파일러가 자동적으로 수행하는 최적화들은 여러가지가 있는데 간단하게는 쓸데 없는 코드 제거, 중복된 계산식의 축약, 내용이 짧은 코드는 인라인하기 정도가 있을 것이다. 보다 강력한 수준의 최적화는 메모리 레이턴시를 줄이기 위해, 또 루프에서 반복적으로 계산되는 것을 줄이..
2015.01.22 -
퍼옴] Lock free Algorithms for Ultimate Performance
출처: 함께 놀자! Linux By smallake 1. Lock-Free Multi-Producer Multi-Consumer Queue on Ring BufferQCon 2012 행사때 발표한 자료입니다. 발표자는 Disruptor를 만든 LMAX의 Martin Thompson입니다. LMAX를 위한 프레임워크로 개발한 Disruptor의 소스를 공개하여 현재 3.0까지 나왔습니다. Lock free Algorithms for Ultimate Performance 2. Disruptor 말고 또다른 오픈소스를 소개합니다. 제가 자주 방문하여 몇 수를 배우는 곳입니다. Mintomic입니다. Minimal + Atomic을 결합한 의미입니다.MintomicA Small, Portable Lock-Fre..
2015.01.22 -
퍼옴] 메모리 DB의 이해와 역할
출처: http://www.comqna.net/bbs/board.php?bo_table=database&wr_id=40&page=1 메 모리 DB의 역사는 불과 3년 정도다. 빠른 시간 동안 급성장해 다양한 분야에서 사용되고 있지만 아직 일반화됐다고 보기는 어렵다. 또 기술 및 기능에 있어서도 기존 디스크 DB에 비해 아직 미흡한 점이 있는 것도 사실이다. 메모리 DB는 적용분야가 구분되고 있으며 역할 또한 기존 디스크 DB와 차별됨으로써 적용사례가 늘어나고 있다. 본 강좌에서는 최근 사용이 늘고 있는 메모리 DB의 기술과 발전방향을 살펴보고자 한다. 메모리 DBMS는 하드웨어인 메모리를 기반으로 데이터를 처리하는 것으로 오해되는 경우가 종종 있다. 메모리 DBMS는 오라클 DBMS나 IBM의 DB2 등..
2015.01.22