Offcanvas

개발자 / 데브옵스 / 애플리케이션

오라클-인텔, 'SIMD 지원하는 자바 API' 공동 개발한다

2018.08.17 Paul Krill  |  InfoWorld
오라클과 인텔이 일급 클래스 벡터(first-class vector) 또는 SIMD(single instruction, multiple data)를 추가하고 큰 성능 향상을 구현할 수 있는 자바 API를 개발하고 있다.

이 API는 JVM과 네이티브 코드를 연동하는 데 초점을 맞춘 파나마(Panama) 프로젝트의 과제 중 하나다. 벡터 연산을 표현하기 위해 인큐베이터 모듈인 jdk.incubator.vector의 초기 반복을 지원한다. 이 벡터 연산은 런타임에서 CPU 아키텍처를 지원하는 최선의 하드웨어 명령을 컴파일하는데, 이를 위해서는 그럴(Graal) 컴파일러의 지원도 필요하다. 파나마 프로젝트의 최종 목표는 다음과 같다.

- 다양한 벡터 연산을 표현하는 명확하고 간결한 API를 제공
- x64 아키텍처 기반의 신뢰할 수 있는 런타임 컴파일과 성능
- 여러 가지 시스템에 대한 호환성
- 우아한 저하(Graceful degradation). 이 용어의 의미는, x64 아키텍처가 일부 명령을 지원하지 않거나 다른 CPU 아키텍처를 지원하지 않아서 벡터 연산을 런타임에서 배열로 완전하게 표현하지 못한다고 해도 벡터 API 작업이 점진적으로 문제가 발생하지만 여전히 작동하는 것이다. 이런 상황이 발생하면 개발자는 이런 경고 메시지를 받을 수 있다.

오라클과 인텔이 개발에 성공하면 자바 벡터 API는 벡터화를 위한 기존 핫스팟(HotSpot) 가상머신의 기능을 사용해 자바로 복잡한 벡터 알고리즘을 작성할 수 있는 메커니즘을 제공한다. 이런 벡터 작업을 통해 단일 CPU 사이클에서 더 많은 작업을 병렬 처리할 수 있다.

이 프로젝트는 자바 스탠더드 에디션(SE)을 겨냥한 것이지만, 현재까지 이 기능이 자바의 어떤 버전에 들어갈지는 확실치 않다. 또한, 이 프로젝트는 API가 x64 아키텍처에서 SIMD에 편향될 위험이 있지만, 다른 아키텍처도 고려될 예정이다. 오라클과 인텔은 특히 ARM 스칼라 벡터 익스텐션 아키텍처(ARM Scalar Vector Extension architecture)를 지목했다. ciokr@idg.co.kr 
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.