2018.04.16

주목해야 할 MS의 기업용 기트 허브 프로젝트 3가지

Dan Swinhoe | IDG Connect
오픈소스는 모든 곳에서 사용되고 있고, 기업의 표준 소프트웨어 개발 방법으로 빠르게 자리 잡고 있다. 마이크로소프트도 마찬가지다. 현재 기트 허브에 올라 와 있는 마이크로소프트의 오픈소스 프로젝트 중 기업 IT 팀의 작업에 도움을 주는 것을 모았다.



GVFS(Git Virtual File System)
기능 : GVFS는 많은 기트 리포지토리를 관리하고 사용할 수 있도록 지원한다. 기업 환경에서 기트를 쓰는 데 유용하다.

장점 : 그동안 많은 실무자가 기업 규모의 리포지토리를 다루는 데 어려움을 겪었다. 예를 들어 수백만 개 파일이 저장된 리포지토리에서 클로닝 같은 작업을 하면 매우 느려지곤 했다. 심지어 리포지토리 상태를 확인하는 간단한 작업도 결과가 나타나기까지 꽤 오래 기다려야 한다. GVFS는 파일 시스템을 사용자 기트 리포토지 밑에 가상화해 기트와 모든 툴을 일반적인 리포티지토리로 보이게 한다. 단, 필요한 객체를 다운로드만 할 수 있다.

올린스
기능 : 올린스(Orleans)는 분산 대용량 컴퓨팅 애플리케이션을 개발하는 프레임워크다. 복잡한 동시성을 고려하거나 다른 확장 패턴을 적용하거나 배울 필요도 없다.

장점 : 올린스는 분산 시스템을 개발하는 복잡성 문제를 해결한다. 애플리케이션을 서버 수백대로 확장할 수 있다. 또한 간단한 단일 스레드의 C# 코드로 작성할 수 있도록 지원하며, 객체 사이를 오가는 비동기 메시지의 동시성 문제도 해결한다.

마이크로소프트 코드니티브 툴키트
기능 : 마이크로소프트 CNTK(Cognitive Toolkit)는 상용 수준의 분산 딥러닝용 툴키트다.

장점 : CNTK는 간단한 빌딩 블록을 통해 신경망을 구성한다. 이는 나중에 복잡한 컴퓨팅 네트워크로 전환해 최신 기능을 지원하는 복잡한 딥러닝 모델을 만드는 데 활용할 수 있다. CNTK를 이용하면 피드-포워드 DNNs, CNNs(convolutional nets), RNNs/LSTMs(recurrent networks) 같은 유명 딥러닝 모델을 쉽게 구현해 결합할 수 있다. 또한 이를 여러 GPU와 서버에 걸쳐 자동 분화하고 병렬화해 SGD(stochastic gradient descent) 러닝을 적용할 수도 있다. ciokr@idg.co.kr 
2018.04.16

주목해야 할 MS의 기업용 기트 허브 프로젝트 3가지

Dan Swinhoe | IDG Connect
오픈소스는 모든 곳에서 사용되고 있고, 기업의 표준 소프트웨어 개발 방법으로 빠르게 자리 잡고 있다. 마이크로소프트도 마찬가지다. 현재 기트 허브에 올라 와 있는 마이크로소프트의 오픈소스 프로젝트 중 기업 IT 팀의 작업에 도움을 주는 것을 모았다.



GVFS(Git Virtual File System)
기능 : GVFS는 많은 기트 리포지토리를 관리하고 사용할 수 있도록 지원한다. 기업 환경에서 기트를 쓰는 데 유용하다.

장점 : 그동안 많은 실무자가 기업 규모의 리포지토리를 다루는 데 어려움을 겪었다. 예를 들어 수백만 개 파일이 저장된 리포지토리에서 클로닝 같은 작업을 하면 매우 느려지곤 했다. 심지어 리포지토리 상태를 확인하는 간단한 작업도 결과가 나타나기까지 꽤 오래 기다려야 한다. GVFS는 파일 시스템을 사용자 기트 리포토지 밑에 가상화해 기트와 모든 툴을 일반적인 리포티지토리로 보이게 한다. 단, 필요한 객체를 다운로드만 할 수 있다.

올린스
기능 : 올린스(Orleans)는 분산 대용량 컴퓨팅 애플리케이션을 개발하는 프레임워크다. 복잡한 동시성을 고려하거나 다른 확장 패턴을 적용하거나 배울 필요도 없다.

장점 : 올린스는 분산 시스템을 개발하는 복잡성 문제를 해결한다. 애플리케이션을 서버 수백대로 확장할 수 있다. 또한 간단한 단일 스레드의 C# 코드로 작성할 수 있도록 지원하며, 객체 사이를 오가는 비동기 메시지의 동시성 문제도 해결한다.

마이크로소프트 코드니티브 툴키트
기능 : 마이크로소프트 CNTK(Cognitive Toolkit)는 상용 수준의 분산 딥러닝용 툴키트다.

장점 : CNTK는 간단한 빌딩 블록을 통해 신경망을 구성한다. 이는 나중에 복잡한 컴퓨팅 네트워크로 전환해 최신 기능을 지원하는 복잡한 딥러닝 모델을 만드는 데 활용할 수 있다. CNTK를 이용하면 피드-포워드 DNNs, CNNs(convolutional nets), RNNs/LSTMs(recurrent networks) 같은 유명 딥러닝 모델을 쉽게 구현해 결합할 수 있다. 또한 이를 여러 GPU와 서버에 걸쳐 자동 분화하고 병렬화해 SGD(stochastic gradient descent) 러닝을 적용할 수도 있다. ciokr@idg.co.kr 
X