장치 기술에 있는 돌파구는 "계산 중심" 및 더 공정한 "데이터" 컴퓨팅 인프라 사이 변환 하는 데 사용 됩니다. 저자 스토리지 수준의 메모리를 조사, RAM 및 디스크 스토리지, 회전 사이의 오랜 성능 격차를 채우는 방법을 보여 줍니다 및 I/O 버스 코프로세서 (는 유사한 데이터 처리)를 사용 하 여 세부 InfiniBand를 사용 하 여 낮은 비용 높은 성능의 상호 연결 네트워크를 구축 하는 방법에 설명 합니다 구조화 되지 않은 데이터의 확장 가능한 저장소 설명 되어 있습니다.
전산 시스템 엔지니어링은 역사적으로 확장된 프로세서 및 메모리 작업, 데이터 기반 및 전산 알고리즘 사이 거 대 한 격차를 떠나 동적 램 (DRAM) 인터페이스에 의해 제어 되었습니다. 데이터 중심 컴퓨팅에 관심 많은 데이터 집합에 데이터 변환을 지원 하기 위해 새로운 시스템 디자인 소프트웨어와 하드웨어 장비와 함께, 급속 하 게 성장 하고있다.
소프트웨어 중심 데이터 틀림 없이 응용 프로그램, 비디오 분석, 센서 네트워크, 소셜 네트워크, 컴퓨터 비전 및 증강된 현실, 지능형 교통 및 기계 시스템, IBM의 지능형 행성 및 지능형 도시를 위한 시스템 차원의 데이터 이니셔티브 등의 현재 초점 이다.
현재, 초점은 수집, 처리, 변환, 및 광산 대형 데이터 집합:
비휘발성 메모리 (스토리지 수준 메모리, SCM), 데이터 초점 경향이 큰 데이터를 더 처리 하는 데 필요한 새로운 장치 수준 돌파구에에서
. 동시에 입/출력 보조 프로세서 데이터 경향이 처리 게. 마지막으로, 낮은 대기 시간, 높은 대역폭, 상용 InfiniBand 지원 연구원은 신속 하 게 3 차원 고리와 가장 기괴 하 고 비싼 사용자 지정 고성능 컴퓨팅 (HPC) 디자인을 제한 하는 데 사용할 수 있는 지방 나무 클러스터 구축 등 상호 연결.
지금까지, 시스템 소프트웨어, 심지어 시스템 설계, 아직도 오래 된 병목 현상 및 아이디어에 의해 영향을. 예를 들어 스레딩 및 다중 프로그래밍을 고려 합니다. 모든 생각 느린 디스크 드라이브 사용에서 유래 하 고 프로그램 아무것도 할 수 있는 이외의 다른 프로그램을 실행 하는 데이터를 기다리는 동안? 물론, 우리는 중복 배열 독립 디스크 (RAID) 확장 및 낸드 플래시 솔리드 스테이트 디스크 (SSD), 하지만 액세스 시간 간격에서 시간 규모 차이 인간의 언어에 거 대 한 IBM Almaden 연구에서 알 수 있듯이.
각 장치에 대 한 일반적인 성능 형태로 CPU, RAM, 그리고 저장소의 액세스 시간 차이 측정 될 수 있다 하지만 아마도 격차 (로 연구소의 IBM Almaden 그림에 대 한) 인간 언어의 경우 이해 하기 쉽게 있을 수 있습니다.
일반적인 CPU 작업 닮은 인간에 초 할 100 RAM 액세스 지연 정보에 액세스할 수 몇 분 정도 걸릴 수 있습니다. 그러나, 유사한 비교, 100 시간 지연된 디스크 액세스가 RAM에 비해 몇 개월 (100 일) 이상. (그림 1 참조). )
그림 1입니다. 데이터 액세스 간격
많은 경험 있는 컴퓨터 엔지니어 약 100 ~ 200 임의 I/O 작업 / 초 (IOPS)를 심각 하 게 생각 하지 않는다: 이것은 디스크 기반 기계 경계 이다. (물론, 순차적 액세스 초당 메가바이트의 수백으로 높은 될 수 있지만 랜덤 액세스는 여전히 50 년 이상 전, 15k RPM 검색 및 회전 액세스 대기 시간 비슷합니다.) )
마지막으로, 길을 지적, 매우 느린, 빙하의 이동 속도가 느린 테이프가입니다. 그래서 이유는 우리가 아직도 혼란? 물론 그것은 용량 때문 에입니다. 하지만 어떻게 우리가 데이터를 처리 하거나 보다 효율적으로 데이터 처리?
살펴 봅시다 그림 1 다시 합니다. 향상 된 낸드 플래시 메모리 모바일 장치에 대 한 최근 SSDs 격차를 좁힐 도움이; 그러나, 그것은 널리 믿고 낸드 플래시 기술 곧 그 한계를 도달할 것 이다 많은 시스템 연구팀은 지적 했다. 부동 게이트 기술은 트랜지스터를 사용 하 여 확장 제한에 도달 했습니다, 추가 확장 안정성, 낮은 이어질 것입니다 그래서 비록이 데이터 중심 컴퓨팅에 사용할 임시 변통 하지만이 솔루션을 않을 수 있습니다.
반대로, 여러 가지 새로운 비휘발성 RAM (NVRAM) 장치 기술을 포함 하는 솔루션을 수 있습니다.
위상 변화 램 (Pcram):이 메모리 설정 하는 유황 이라는 소재 복합 결정 또는 비정 질 유리 상태로 따라서 그들은 구동 되지 경우에 유지 될 수 있는 두 가지 프로그래밍 가능 하 고 읽기 상태 저장 난방 요소를 사용 합니다. M 클래스 동기 비휘발성 메모리 (NVM), Pcram 최근 약속의 대부분을 영광는 것 같다. 저항성 메모리 (Rram): 대부분 rram 커패시터, 센서, 또는 저항, 달리 회로로 설명 종종 Rram 독특한 전압 및 현재 관계 (와 달리 다른 잘 알려진 장치 전기 요금 또는 전자기파를 저장 하는), 또는 현재 선형 저항을 제공. 지난 몇 년간에서 메모리 저항을 이라는 속성 자료를 사용 하 여 테스트 되었습니다, 그리고 엔지니어 종종 그들의 비 선형 속성 및 응용 프로그램의 부족 때문에 그들을 사용 하지 않도록 하십시오. IEEE 회원, 레온 Chua, 문서에서 그것을 설명 합니다 "Memristor: 누락 된 회로 요소". 저항기의 동작은 다음과 같이 요약 될 수 있다: 한 방향으로 전류는 저항 및 다른 방향으로 감소에서 저항 증가. 마찬가지로, 비-휘발성 상태 저장 하 고 프로그램 및 주 읽기 수 있습니다. 전송 순간 RAM (스핀 전달 토크 Ram, stt 램) 스핀: 스핀 편광 전류는 자기권에서 가리킬 때 각 운동량에 의해 방향을 바꿀 수 있는 자기권의 전류에 의해 생성 될 수 있습니다. 진동 자극 나노 자기 소자의 방향을 전환 하 고이 동작을 사용할 수 있습니다. 주요 단점은 플립 방향으로 높은 전류를 요구 한다입니다.
시스템 관점에서으로 이들이 소자, 어디이 장치를 사용 하 고 어떻게 각 장치 수 있습니다 더 나은 메우기 액세스 장치의 다음과 같은 측면에 따라 달라 집니다.
확장성 비용 (장치 통합 크기는 캐시를 격파 하는 트랜지스터 보다는 더 적은; 20 미만 이어야 nm) 프로그램 하 고 읽기 지연 장치 신뢰성 아마도 가장 중요 한 것은 내구성 (프로그래밍 및 주파수 불안정 되기 전에 지우기).
이러한 장치 성능 고려 사항에 따라, IBM는 두 개의 넓은 범주로 SCM을 그룹화:
S 클래스: I/O 컨트롤러를 통해 비동기 액세스. 스레드 또는 다중 프로그래밍 장치에 대 한 I/O 대기 시간을 숨기는 데 사용 됩니다. M 클래스: 메모리 컨트롤러를 통해 액세스 동기화. 그것은 RAM 액세스 대기 상태는 CPU 코어의 실행이 중지 여겨질 수 있다.
또한, 낸드 플래시 SSD는 빠른 저장, 블록 지향 스토리지 컨트롤러 (높은 I/O 속도, 하지만 비슷한 회전 디스크 기반 대역폭) 통해 액세스할 간주 됩니다.
이 데이터 처리 (제외 보관 액세스 또는 클러스터 확장, 물론), 비동기 I/O의 취소 처럼 보일 수도 있지만 데이터 기반 처리에 대 한만 병 통치 약 수 있습니다. 그 의미에서 사실 이지만 시스템 설계자 및 소프트웨어 개발자는 그 습관을 변경 해야 합니다. I/O 대기 시간 은폐의 요구 사항을 각 노드에서 시스템 대부분 손실, 하지만 완전히 제거 될 수 없습니다. InfiniBand에 클러스터 빌드를 사용 하 여 메시지 전달 인터페이스 또는 MapReduce 모드 노드 노드, 그리고 당신은이 아이디어 SCM 노드의 하지만 시작 시 비슷한 성능을 즐길 수 있습니다 또는 노드 데이터 노드 작업을 초과할 때 데이터 전송 대기 시간을 처리 RAM 크기 제외 하.
따라서, 확장, 그것 여전히 클러스터 상호 연결 및 클러스터 노드 간에 I/o 대기 시간을 숨길 필요가 있다.
보조 프로세서 데이터 경향이 처리 하 게
대용량 데이터에 대 한 빠른 액세스 완전 하 게, 보인다 것 같네요, 하지만 일부 응용 프로그램은 항상 다른 대안 (데이터 인터페이스에 가까이 처리 만들기)에서 혜택을 받을. 그래픽 (그래픽 처리 장치, GPU), 네트워크 프로세서, 프로토콜 오프 로드 엔진 (예: TCP/IP 오프 로드 엔진, RAID, 암호화 코프로세서 칩에), 및 컴퓨터 비전 공동 프로세서 개념의 최근 출현 같은 많은 예가 있다. 내 연구는 컴퓨터 비전 및 특정 크기의 클러스터에서 또는 컴퓨터와 임베디드 시스템에서 그래픽 프로세서와 그래픽 프로세서를 포함 한다. 내가 현재 일하고 일 컴퓨터 비전 처리 장치 라고 하며 OPENVX 2012 발표의 크로노스의 릴리스, 그것은 몇 가지 보조 프로세서 보다 더 인기가 있을 것입니다.
임베디드 세계에서 그러한 방법 수 있습니다 설명 스마트 센서 또는 스마트 카메라, 그리고 원시 데이터 전처리 방법 센서 인터페이스, 포함 된 논리 장치 또는 마이크로프로세서, 또는 심지어는 멀티 코어 시스템 (SoC) 칩에 의해 제공 됩니다.
확장 가능한 세계에서이 일반적으로 보조 프로세서 버스 또는 채널 어댑터 (예: PCI 익스프레스, PCIe, 이더넷 또는 InfiniBand), 제공 하는 데이터 소스 (네트워크 측)와 I/O 컨트롤러 (호스트 측) 노드 간에 데이터 처리의 사용을 포함 한다.
든 프로세스 완료 해야 능률적 이어야 한다 처리, 그들은 토론의 핫 토픽 때 I/O 경로 또는 CPU 코어에서 처리 됩니다 하지만 그들은 명확 하 게 유용한 보조 프로세서 기반 기술로 프로세서 보다 더 일반적인 기존 이론 (GPU 및 네트워크 프로세서)에 따라. 그래서 우리는 이러한 방법 중 몇 가지 빠른 봐 할게요:
GPU (GP-GPU), 및 응용 프로그램 프로세서 단위 (APU) 단일 프로그램에 대 한 여러 데이터 처리
벡터는 현재 GPU는 다목적에 의해 제공 됩니다. 아이디어는 그 데이터는 출력 장치 (모니터) 그것의 자신의 방법으로 변환 또는 Gp-gpu/apu를 보낸 고 수 호스트와 장치 간의 왕복 과정 중 변환. "유니버설" 의미 더 복잡 한 함수, 예를 들어 두 작업은 특정 그래픽 처리, 단일 정밀 작업에 비해 적당 한만. 여러 코어 전통적인 멀티 코어 프로세서 카드 개별 공급 업체에 사용할 수 있습니다. 여기에 근거는 비용 및 전력 소비를 줄이기 위해 간단 하지만 큰 I/O 버스 코어 수를 사용 하 여 카드를 처리 하는 양방향 언로드를 사용 하 여 더 강력 하지만 더 많은 전력을 소비을 비싼, 포괄적인 멀티 코어 호스트를 요구 한다. 일반적으로, 코어 코프로세서 호스트, 일반적으로 기가 비트 또는 10 G 이더넷 네트워크 인터페이스의 다른 종류를 포함 하 여 보다 더 많은 코어를 필요할 수 있습니다. I/O 버스 필드 프로그래머블 게이트 어레이 (FPGA) 개발의 초기 단계에서 FPGA 카드는 종종 새로운 프로세서, 프로토 타입을 사용 하 고 또한 작은 용량 코프로세서 솔루션으로 사용할 수 있습니다. 임베디드 SoC A 멀티 코어 솔루션 스테레오에 이르기까지 또는 비행 시간 카메라 같은 스마트 장치를 I/O 장치에 사용할 수 있는. 인터페이스 fpga/구성 가능한 프로그래밍 논리 장치 디지털 로직 상태 시스템 버퍼링 및 지속적인 I/O 데이터 변환을, 디지털 비디오 코딩 등을 제공합니다.