distributed-matrix-completion's People
distributed-matrix-completion's Issues
Matrix outer product 방식 Spark에 구현
출저: https://www.thinkbiganalytics.com/2015/11/23/scalable-matrix-multiplication-using-spark-2/
n 이 매우 커지는경우 메모리 초과 발생.
Spark 에 여러 Distriyted matrix 있지만, 매개 변수로 로컬 행렬만 사용. 즉, 메모리 부족 문제가 발생하기 때문에 MLlib을 사용하면 큰행렬에 다른 행렬을 곱할 수 없음.
이 문제를 해결하기 위해 outer product 개념 활용.
다음과 같이 A의 col vector, B의 row vector로 n개 만큼의 RDD 구성.
각각의 RDD에는 m+k 만큼의 element 존재.
ex) 다음과 같은 행렬을 outer product로 곱할때,
소스코드: https://www.thinkbiganalytics.com/wp-content/uploads/2017/03/SparkMultiplication-1.txt
marlin 과 Spark BlockMatrix.multiply 성능 비교
#7 완료 후 Spark BlockMatrix.multiply 와 marlin 성능 비교 해보기
Spark Blockmatrix multiply와 CARMA algorithm matrix multiply 직접 구현해 비교
marlin 을 현재 spark 버전으로 import 하기
GPU 를 활용한 스파크 클러스터 셋어
현재 존재하는 시스템을 설치하여 성능 측정 필요
분산 매트릭스의 리파티션 방안 논의
스파크의 BlockMatrix.multiply 가 어떻게 동작하는지 이해하고 설명하기
bd-1, 2, 3 에 하둡 Yarn 인스턴스 설치 및 스파크 설치
하둡과 스파크 컨테이너 활용하여 재 설치 필요.
@NamHyunE 이번 이슈에 각 단계를 정리해보자.
SUMMA 기반의 matrix multiply 실험 환경 구축 하기
ScalaPack 에 구현된 행렬곱셈은 SUMMA 를 구현했음. MAGMA, PLASMA 등도 비슷할수있음
SUMMA - http://www.netlib.org/lapack/lawnspdf/lawn96.pdf
square 매트릭스 간의 곱셈 성능 측정
Spark MLLib BlockMatrix.multiply 함수를 활용하여
두개의 square 매트릭스간의 곱셈 연산에 대한 각기 다른 설정에 따른 성능 측정 필요
매트릭스의 사이즈는
1K1K
2K2K
4K4K
8K8K
16K16K
32K32K
매트릭스 안의 블락 개수는
11, 22, 44, 88, 1616, 18, 81, 116, 16*1 등을 시도하면 될듯
행렬 곱셈시에 inner-product, outer-product 의 차이에 대한 분석 필요
블락 행렬 곱셈에서 numDimSplit 의 효과와 inner-product 와 outer-product 의 성능 차이 및 오버헤드 조사 필요
numMidDimSplit 최적값 찾기
computation overhead와 network overhead의 일반화
thin-long 행렬과 long-thin 행렬의 곱셈 성능 측정
스파크 MLLib 활용
매트릭스 사이즈는
1M * 1K 정도로
block 나누는 법은 행별, 열별, 블락별을 각각 따로 시도해봐야 할듯
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.