검색 본문
v.daum.net 카가이 병렬, 직병렬 뭐야..복잡한 하이브리드 쉽게 알아보자 - 콘텐츠뷰 부족한 토크를 가솔린 엔진으로 보완하는 시스템이다. 풀하이브리드 방식은 크게 3종류로 분류한다. 병렬형, 직병렬형, 직렬형 하이브리드로 나뉜다. 세 방식의 공통점은 엔진이 아닌 모터가 구동을 보조하거나... 2024.05.10 웹문서 검색 더보기 brunch.co.kr 동민 [문화] 병렬 독서법 5 되어가고 있어요. 이러한 때일수록, 다시 한번 책과 독서의 매력을 느껴보는 것을 권장드립니다. 독서를 어려워하거나 불편하게 느끼는 분들을 위해, 『병렬독서법 』이라는 흥미로운 독서법 한 가지를 소개해드릴게요. 병렬독서법이란 한 번에 여러 가지 책을 병행해서 읽는 방법을 말해요. 예를 들어, 잠자리에는 소설... 브런치북 스낵북 독서 문화 독서법 2024.05.19 브런치스토리 검색 더보기 hoestory.tistory.com HoeStory [운영체제] 동시성, 병렬성 8 동시성과 병렬성 동시성 : 특정한 순서 없이 겹치는 기간에 시작, 실행 및 완료되는 여러 작업에 관한 것을 의미합니다. 병렬성 : 멀티코어 프로세서에서 동시에 실행되는 동일한 작업의 여러 작업에 관한 것을 의미합니다. 동시성 CPU가 한 번에 많은 일을 처리하는 것에 중점을 두고 있습니다. 즉 많은 작업들을 아주... 2024.04.12 블로그 검색 더보기 backend-dev.tistory.com 백엔드 개발자 블로그 병렬처리를 이용한 이미지 리사이즈 개선 문제 상황 1. 렌더링으로 인한 이미지 로드 지연 사용자의 원본 이미지를 그대로 S3에 업로드해서 사용해왔습니다. 그렇다보니 네트워크 / 디바이스 성능에 따라 페이지 렌더링 되면서 이미지가 늦게 로드 되는 경우가 많았습니다. 2. 고화질 원본 이미지로 인한 이미지 로드 지연 대부분 원본 이미지가 3MB이상인 고화질 이미지였기에 늦게 로드 되었습니다. 해결안 1. 원본 이미지 경량화 (선택) 현실적으로 지금 당장 빠르게 해결할 방법은 백엔드쪽에서 원본 이미지를 경량화하는 것입니다. 단, 페이지마다 사용하는 이미지 사이즈가 다르기 때문에 4가지 유형으로 리사이즈해서 프론트에서 적절한 유형의 리사이즈 이미지를 사용하도록 합시다. (SMALL, MEDIUM, LARGE, XLARGE) 추가적으로 이미지 업로드 기능이 원본 이미지 경량화 로직으로 인해 서비스 사용성에 영향이 있으면 안됩니다. 2. 프론트 엔드 (선택 안함) 이미지 로드 개선은 스켈레톤 이미지나 프론트에서 자체 캐시를 사용할수도 구현 이미지 리사이즈 플로우 기존에 사용하던 이미지 업로드 API는 그대로 유지하되, 이미지가 업로드 되면 메시지큐에 리사이즈 요청 메시지를 전송합니다. 컨슈머는 업로드된 원본 이미지를 확인하고 4가지 유형으로 리사이즈를 수행합니다. 프론트에서는 규칙에 따라 리사이즈된 이미지를 사용하게 됩니다. 이미지 리사이즈 컨슈머 구현 로직 1. 사이즈별 이미지 업로드 4 가지 유형으로 리사이즈 하여 S3에 업로드 합니다. 각각의 리사이즈된 이미지는 HashMap에 저장하여 추후에 데이터베이스에 저장할 때 사용됩니다. 2. 리사이즈... 개선 병렬 처리 기존 방법 : 기존 로직은 사이즈 별로 루프문을 순회하면서 순차적으로 원본 이미지를 리사이즈하며 업로드했습니다 상황 : 사이즈 별로 업로드 하는 로직은 개별 쓰레드로 독립적으로 수행해도 됩니다 개선 : 사이즈 별로 업로드 하는 로직은 병렬로 수행하고 추후 데이터베이스에 저장할 데이터만 취합하여 저장하는 방법을 시도봅시다. 직접해보고 전후 결과를 비교해봤습니다. 객관적인 데이터를 측정하기 위해 이미지 업로드 로직을 2초 정도 시간을 소요하도록 로직을 수정하였습니다 stream 사용시 (Total 소요시간... 주의사항 병렬처리시 주의사항은? 1. 병렬 처리 병렬처리 하는 로직에서 공유 데이터를 가공하는 경우가 있으면 역효과가 납니다. 쓰레드간 작업한 데이터를 동기화해주는 작업이 생각보다 많은 부하를 발생하기 때문입니다. 2. parallelStream parallelStream을 사용하게 되면 애플리케이션의 전체적인 성능을 떨어뜨릴수 있게 됩니다. 왜냐하면 자바 애플리케이션은 멀티 쓰레드로 동작하기 때문에 일정량의 쓰레드를 할당하며 사용자 요청을 병렬로 처리하기 때문입니다. 그래서 parallelStream을 사용하게 되면 애플리케이션에서 할당해 주의사항 해결안 이 주의사항 문제를 해결하기 위해서 2가지 방법을 시도했습니다. 1. parallelStream 을 사용할때는 ForkJoinPool로 쓰레드풀을 지정하라! (선택) ForkJoinPool을 사용하여 병렬처리로 가용할 쓰레드 갯수를 제한해 줍시다. 현재는 이미지 리사이즈 유형만큼만 병렬처리하기 때문에 리사이즈 컬렉션 갯수만큼 쓰레드풀을 지정했습니다 그럼 ForkJoinPool을 어디에 선언해야 하는가? ForkJoinPool을 지역변수로 설정할 수도 있고 static으로 설정 할 수도 있습니다. 지역변수 아래는 지역변수로 선언한 경 정리 백엔드로만 이미지 로드 개선 방법 : parallelStream으로 병렬 처리하기 ForkJoinPool로 가용할 쓰레드 풀 지정하기 선언 방법 : 지역변수 or static 지역변수는 shutdown 설정을 잘해줘야 성능이 보장된다. static은 size 설정을 잘해줘야 성능이 보장된다. 백엔드로만 이미지 로드 개선 방법 : parallelStream으로 병렬 처리하기 ForkJoinPool로 가용할 쓰레드 풀 지정하기 선언 방법 : 지역변수 or static 지역변수는 shutdown 설정을 잘해줘야 성능이 보장된다. static은 size 설정을 잘해줘야 성능이 보장된다. 이미지 업로드 ForkJoinPool ParallelStream 2024.04.29 upcurvewave.tistory.com 르네의 영속성 컨텍스트 [독서 기록] 자바 병렬 프로그래밍 1부 기본 원리 스레드 안정성 스레드 안정성이란 여러 스레드가 클래스에 접근할 때 실행 환경이 해당 스레드의 실행을 어떻게 스케줄하든 어디에 끼워 넣든, 호출하는 쪽에서 추가적인 동기화나 다른 조율 없이도 정확하게 동작하면 해당 클래스는 스레드 안전하다고 말한다. 48p 상태 없는 객체에 접근하는 스레드가 어떤 일을 하든 다른 스레드가 수행하는 동작의 정확성에 영향을 끼칠 수 없기 때문에 상태 없는 객체는 항상 스레드 안전하다. 49p 단일 연산 값을 증가시키는 ++count는 한 줄짜리 간단한 코드인지라 단일 작업처럼 보이지만... 2부 병렬 프로그램 구조 잡기 스레드에서 작업 실행 반응 속도를 훨씬 높일 수 있는 방법 가운데 하나는 요청이 들어올 때마다 새로운 스레드를 하나씩 만들어 실행시키는 방법이다. 예제 6.2의 ThreadPerTaskWebServer 클래스가 이렇게 구현되어 있다. public class ThreadPerTaskWebServer { public static void main(String[] args) throws IOException { ServerSocket socket = new ServerSocket(80); while ( 3부 활동성 성능 테스트 데드락 모든 철학자가 각자 자기 왼쪽에 있는 젓가락을 집은 다음 오른쪽 젓가락을 사용할 수 있을 때까지 기다렸다가 오른쪽 젓가락을 집어서 식사를 한다면, 모든 철학자가 더 이상 먹지 못하는 상황에 다다를 수 있다. 철학자 모두가 먹지 못하는 후자의 상황은 음식을 먹는 데 필요한 자원을 모두 다른 곳에서 확보하고 놓지 않기 때문에 모두가 서로 상대방이 자원을 놓기만을 기다리는, 이른바 데드락이 걸린다. 306p 지향 그래프를 예로 들어보면, 그래프의 노드는 스레드 하나를 의미하고, 그래프의 에지는 '스레드 B가 확보한... 4부 고급 주제 명시적인 락 public interface Lock { void lock(); void lockInterruptibly() throws InterruptedException; boolean tryLock(); boolean tryLock(long timeout, TimeUnit unit) throws InterruptedException; void unlock(); Condition newCondition(); } 405p 폴링과 시간 제한이 있는 락 확보 방법 tryLock 메소 5 스레드 안정성 스레드 안정성이란 여러 스레드가 클래스에 접근할 때 실행 환경이 해당 스레드의 실행을 어떻게 스케줄하든 어디에 끼워 넣든, 호출하는 쪽에서 추가적인 동기화나 다른 조율 없이도 정확하게 동작하면 해당 클래스는 스레드 안전하다고 말한다. 48p 상태 없는 객체에 접근하는 스레드가 어떤 일을 하든 다른 스레드가 수행하는 동작의 정확성에 영향을 끼칠 수 없기 때문에 상태 없는 객체는 항상 스레드 안전하다. 49p 단일 연산 값을 증가시키는 ++count는 한 줄짜리 간단한 코드인지라 단일 작업처럼 보이지만... 2024.04.18 Java 병렬 처리 ForkJoinPool 기본 작동 원리 통합웹 더보기
서비스 안내 스토리의 글을 대상으로 검색결과를 제공합니다. 자세히보기 변신네모 취미 분야 크리에이터 직렬 vs 병렬 직렬 : 전지를 여러 개 연결한 만큼 병렬에 비해 전구의 밝기가 밝지만 전지를 오래 쓸 수 없다. 전구 하나가 고장 나면 전체가 켜지지 않음 병렬 : 전지를 여러 개 연결하더라고 직렬보다 전구의 밝기가 밝지 않지만 전지를 오래 쓸 수 있다. 하나가 꺼져도 다른 쪽은 불이 켜져 있음 인생을 살아가는 데 있어, 직렬과... 전구 밝기 전지 2024.04.23 브런치스토리 검색 더보기 ash9river.tistory.com 프론트엔드 도전기 명령어 수준 병렬성과 슈퍼스칼라 프로세서 스테이지 비교 제약 사항들(Constraints) 명령어-수준 병렬성(Instruction-level parallelisn) 프로그램의 명령어들이 병렬로 실행될 수 있는 정도(degree)를 의미한다. 이 병렬성을 최대로 유지하기 위해서 컴파일러 에 의한 최적화와 하드웨어 기술이 혼합되어 사용될 수 있다. 제약 조건들 - like pipeline hazard 데이터 의존성(True data dependency) : RAW 프로시저 의존성(Procedural dependency) : if문 같은 branch 자원 충돌(Resource confl 의존성 효과 명령어-수준 병렬성과 기계 병렬성(Instruction-Level Parallelism and Machine Parallelism) 설계상의 주요 사항들 명령어 수준 병렬성(Compiler단) 일정한 순서로 나열된 명령어들이 서로 독립적이라서 중첩에 의해 병렬로 실행될 수 있는 경우에 존재 기계 병렬성(Hardware) 프로세서가 명령어-수준 병렬성을 활용활 수 있는 능력을 나타내는 척도 💡 기계 병렬성은 동시에 인출하여 실행할 수 있는 명령어들의 수(병렬 파이프라인들의 수)와 프로세서가 독립적인 명령어들을 찾기 위하여 사용하는 레지스터 재명명의 효과 분기 예측(Branch Prediction) 고성능 파이프라인 프로세서에서는 분기를 처리하는 문제가 반드시 해결되어야 한다. 인텔 80486은 분기의 다음에 위치한 명령어와 분기 목적지 명령어를 모두 인출함으로써 문제를 해결하였다. RISC 기계들 지연 분기 정책 사용 프로세서는 항상 분기의 바로 다음 명령어를 실행한다. 프로세서가 새로운 명령어 흐름을 인출하는 동안에도 파이프라인이 채워져 있게 된다. 슈퍼스칼라 기계들 지연 분기 방식이 별로 부각되지 못하게 됨 분기 예측에 있어서는 RISC 이전의 기술로 되돌아감 슈퍼스칼라 10 제약 사항들(Constraints) 명령어-수준 병렬성(Instruction-level parallelisn) 프로그램의 명령어들이 병렬로 실행될 수 있는 정도(degree)를 의미한다. 이 병렬성을 최대로 유지하기 위해서 컴파일러 에 의한 최적화와 하드웨어 기술이 혼합되어 사용될 수 있다. 제약 조건들 - like pipeline hazard 데이터 의존성(True data dependency) : RAW 프로시저 의존성(Procedural dependency) : if문 같은 branch 자원 충돌(Resource confl 2024.03.28 티스토리 검색 더보기 취미 크리에이터 보기
서비스 안내 Kakao가 운영하는 책 서비스 입니다. 다른 사이트 더보기 대규모 병렬 프로세서 프로그래밍 저자 데이비드 B 커크, ... 출간 2010.2.16. 도서 18,000원 C++ 병렬 분산 프로그래밍 저자 CAMERON HUG... 출간 2008.11.20. 도서 27,000원 MPI 병렬 프로그래밍(멀티코어 시대에 꼭 알아야할) 저자 이홍석 외 출간 2010.6.21. 도서 19,800원 PPL을 이용한 VC++병렬 프로그래밍(Thinking About)(Hanbit eBook Realtime 49) 저자 김경진 출간 2014.3.21. 도서 12,960원 e북 10,800원 SW 개발 방법론 K-Method 원리(병렬형)(인공지능 IoT시대를 위한) 저자 유홍준 출간 2017.8.15. 도서 18,000원 병렬처리개론(병렬처리시리즈 1) 저자 박종욱 역 출간 1994.1.1. CUDA 기반 GPU 병렬 처리 프로그래밍 저자 김덕수 출간 2023.5.25. 도서 22,500원 e북 18,000원 R 병렬 프로그래밍 빅데이터 분석을 위한 R 멀티코어 병렬 처리 저자 Q 에덴 맥컬럼 출간 2015.5.18. e북 8,910원 고성능 파이썬 프로그래밍(acorn+PACKT 시리즈) 저자 가브리엘레 라나로 출간 2016.4.26. 도서 10,800원 인텔스레딩 빌딩블록 저자 제임스 레인더스 출간 2009.11.21. 도서 21,600원 더보기 (주)카카오는 상품판매의 당사자가 아닙니다.법적고지 안내 (주)카카오는 통신판매중개자로서 통신판매의 당사자가 아니며 상품의 주문 배송 및 환불 등과 관련한 의무와 책임은 각 판매자에게 있습니다.
병렬처리 - 텀즈 www.terms.co.kr/parallelprocessing.htm Parallel Processing 정의, 자료 수록. 제온 파이와 병렬 프로그래밍 victorxeonphi.blogspot.kr/ 인텔 제온 파이 보조 프로세서, 아키텍처, 병렬 프로그램, 최적화 정보 제공. 서울대학교 통합설계 병렬처리 연구실 peace.snu.ac.kr/ 교수, 연구사업 소개. 사이트 더보기
서비스 안내 Melon Company가 운영하는 음악 서비스입니다. 다른 사이트 더보기 並列(병렬) Watashi Kobayashi 앨범 原作(원작) 2023.08.28.