|

고속 네트워크에서의 메모리 병목 현상

메모리가 미래 통신에 있어서 병목 지점이 되는 이유를 설명하고 해결 방안을 제시하시오.


1) 메모리는 코드와 데이터를 함께 저장한다. 표현 계층이 개입한다면 메모리 연산이 증가하게 되어 병목 현상이 발생한다. -> 표현계층을 적게 사용한다.
2) 각 계층 이동시 메모리 연산 증가. OSI-7-layer에서 각 계층 이동시 메모리 복사가 빈번하게 일어나게 된다. -> shared memory, page remapping, 계층 통합 처리
3) 10Gbps링크의 경우 패킷 하나가 도달하는데 50ns밖에 걸리지 않는다. 반면 상용 메모리는 50ns당 한 번의 작업밖에 처리하지 못한다. 패킷 하나가 처리되는 데에는 최소 2번의 메모리 접근이 필요한데, 이 경우 메모리 접근 속도가 링크 속도를 따라오지 못한다. -> SRAM 사용, 메모리 접근 시간이 빠른 메모리의 사용
4) 네트워크로 들어오는 모든 데이터는 메모리를 통과해야 한다(네트워크 인터페이스 -> 메모리 -> CPU or HDD). 이때 시스템 버스를 사용하게 되는데 시스템 버스는 주로 CPU가 사용하게 된다. 시스템 버스는 병렬이여서 직렬인 링크보다 빠르지만, 배타적 접근이 불가하며, CPU가 주로 사용하게 되기 때문에 병목 현상이 발생한다. -> DMA사용

Similar Posts

  • MFC – Cam 영상 출력해보기

    이번 시간에는 MFC프로젝트에서 Cam 영상을 받아오는 부분을 구현해 보겠습니다.   “동영상 처리” → “영상 보기”메뉴를 추가하고, 해당 메뉴를 클릭했을 때, 영상을 뿌려주는 Dialog를 띄웁니다. Dialog에서 “시작” 버튼을 클릭했을 경우 Caption이 “중지”로 바뀌고, Static 영역에 영상을 뿌려주게 만들어 보겠습니다.   먼저 사용할 다이얼로그부터 만들어야겠죠? [리소스 뷰]에서 [리소스 추가]를 선택합니다.   [Dialog]가 선택된 것을 확인하고 [새로 만들기]를…

  • Visual Studio 2010에서 OpenCV 라이브러리 빌드하기

    저번에 해봤던 “Visual Studio 2010에서 OpenCV 이용하기(http://deios.kr/395)”에서는 디버그 모드로 이용이 불가능한 문제가 있었습니다. 그래서 이 번에는 직접 OpenCV 2.1 라이브러리를 빌드해 보도록 하겠습니다.   먼저 CMake를 다운받습니다. CMake는 크로스 플렛폼 Make네요. http://www.cmake.org/cmake/resources/software.html 설치는 별 다른게 없습니다. 그냥 다음 연타로 CMake를 설치해 줍니다.   다음으로 OpenCV 2.1 Windows Version을 다운받고, 적당한 곳에 압축을 풀어 줍니다. http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.1/OpenCV-2.1.0-win.zip/download…

  • Cam 영상 출력해보기

    지금까지 VS2010과 OpenCV 2.1라이브러리를 이용한 MFC 프로그래밍 기초에 대해서 알아봤습니다. 우리가 하려고 하는 것이 동영상 처리이므로 이번 시간에는 Cam으로부터 영상을 받아와서 출력하는 방법에 대해서 알아보겠습니다. 먼저 새 프로젝트를 Win32 콘솔 응용 프로그램 형식으로 만들어 줍니다.   OpenCV 2.1 라이브러리를 사용하기 위한 각종 세팅은 당연히 해주셔야 겠죠? 자세한 내용은“Visual Studio 2010에서 OpenCV MFC 프로젝트 만들기(http://deios.kr/400)”를 참고하세요….

  • Visual Studio 2010에서 OpenCV MFC 프로젝트 만들기

    이번에는 Visual Studio 2010에서 OpenCV 2.1 라이브러리를 활용하여 MFC프로젝트를 만들고, 이미지를 불러와서 화면에 출력해보겠습니다.   먼저 제 환경은 다음과 같고, DLL파일은 path환경변수에 설정되어 있습니다. DLL : “D:\lib\bin” Header : “D:\lib\include” Library : “D:\lib\lib” Source : “D:\lib\src”   VS2010에서 [파일] → [새로만들기] → [프로젝트]를 선택합니다.   너무나도 당연하게 ‘Visual C++ MFC 응용 프로그램’을 선택해 주어야겠죠?  …

  • MySQL Character Set Config

    my.cnf 파일 수정 [client] default-character-set = utf8 [mysqld] character-set-client-handshake=FALSE init_connect=”SET collation_connection = utf8_general_ci” init_connect=”SET NAMES utf8″ default-character-set = utf8 character-set-server = utf8 collation-server = utf8_general_ci [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 MySQL 콘솔에서 “\s“명령으로 설정 확인 가능 관련된 글: 흡연권과 혐연권 윤리적이고 합리적인 선택, 존엄사 robots.txt 만들기 Tistory 암호화되지 않은 암호 전송

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다