본문 바로가기
[Java Concurrency] 성능, 확장성 #2 [Java Concurrency] 성능, 확장성 #2 11.4. 락 경쟁 줄이기- 작업을 순차적으로 처리하면 확장성(scalability)을 놓치고, 작업을 병렬로 처리하면 컨텍스트 스위칭에서 성능에 악영향을 줄 수 있다. 따라서 락을 놓고 경쟁하는 상황이 벌어지면 순차적으로 처리함과 동시에 컨텍스트 스위칭도 많이 일어나므로 확장성과 성능을 동시에 떨어뜨리는 원인이 된다. 즉 락 경쟁을 줄이면 줄일수록 확장성과 성능을 함께 높일 수 있다. - 병렬 앱에서 확장성에 가장 큰 위협이 되는 존재는 바로 특정 자원을 독점적으로 사용하도록 제한하는 락이다. - 락을 두고 발생하는 경쟁 상황에는 크게 두 가지를 생각해 볼 수 있다. 락을 얼마나 빈번하게 확보하려고 하는지, 한 번 확보하고 나면 해제할 때까지 얼마나.. 2017. 5. 4.
[샌프란시스코] 공항에서 시내로 [샌프란시스코] 공항에서 시내로 시작 : 14:20 끝 : 14:38 또 재미없는 주제다.. 그러나 여행자들에게 꼭 필요할 수 있는 정보이니.. 써본다..자, 같이 공항에서 시내로 이동해보자. 샌프란 공항 안에는 이런 조형물들이 많이 있었다.무엇을 나타내는 건지는 모르겠지만, 금붕어를 형상화한 것인가? 하는 느낌을 많이 받았다. 많은 사람들이 무서워하는 이미그레이션이다.간단한 영어를 할 줄 알면 다들 통과가 될 것이다.다만 개인적인 생각에 영어를 한 마디도 못한다면 불통이 될 것 같으니.. 기본적인 것은 꼭 공부를 하는 것이 좋겠다.( 아니면 충분한 서류를 준비해서 그냥 다 보여주는 것으로 가능할지도.. ) 이미그레이션에서 나에게는 이런 질문을 했고, 필요한 경우 서류를 보여달라고도 했다. "미국에 왜 .. 2017. 5. 4.
[샌프란시스코] 인천 출발 - 기내 생활(?) - 샌프란 도착 [샌프란시스코] 인천 출발 - 기내 생활(?) - 샌프란 도착 13551418 오늘도 나름 재미없을 수 있는 주제이다.인천공항을 출발, 기내 생활(?) 을 한 후 샌프란에 도착하는 일정.가급적 핵심만 해서 빠르게 끝내보겠다. 라운지에서 배를 가득 채우고 이제 비행기를 타러 간다. "기도실" 이 있다는 사실이 놀라워서 한 장. 우리가 탈 비행기.보통 여행갈 때 항상 저가항공만 탄 관계로 저런 큰 비행기는 오랜만에 타본다. 비행기에 2층이 있다..ㄷㄷㄷㄷ 2층 비행기를 본 적은 있지만 직접 타보기는 처음.. 물론 나의 자리는 1층이었다. ㅋ 비행기에 탑승했다.저가항공에 비해 날개가 정말 길고 크다는 느낌을 받았다. 이류크!!대기권 밖으로 이동하면 거의 구름만 보이기 때문에 재미가 덜하다.역시나 비행기의 바깥.. 2017. 5. 3.
[Java Concurrency] 성능, 확장성 #1 [Java Concurrency] 성능, 확장성 - 스레드를 사용하는 가장 큰 목적은 바로 성능을 높이고자 하는 것이다. 스레드를 사용하면 시스템의 자원을 훨씬 효율적으로 활용할 수 있고, 앱으로 하여금 시스템이 갖고 있는 능력을 최대한 사용하게 할 수 있다. 그와 동시에 기존 작업이 실행되고 있는 동안 새로 등록된 작업을 즉시 실행할 수 있는 준비를 갖추고 있기 때문에 앱의 응답 속도를 향상시킬 수 있다. - 성능을 높이는 방법은 대부분 앱의 내부 구조를 복잡하게 만들어야 하는 경우가 많고, 따라서 안전성과 활동성에 문제가 생길 가능성도 적지 않다. 최악의 경우에는 성능을 높이기 위해 적용한 프로그래밍 기법 때문에 프로그램의 다른 부분에서 역효과를 가져오거나 성능상에 문제를 일으킬 수도 있다. - 성능.. 2017. 5. 3.
[Java Concurrency] 활동성 최대로 높이기 #2 [Java Concurrency] 활동성 최대로 높이기 #2 10.2. 데드락 방지 및 원인 추적 - 한 번에 하나 이상의 락을 사용하지 않는 프로그램은 락의 순서에 의한 데드락이 발생하지 않는다. 물론 그다지 실용적이지 않은 방법일 수 있지만, 가능하다면 한 번에 하나 이상의 락을 사용하지 않도록 프로그램을 만들어 보는 것도 좋다. - 여러 개의 락을 사용해야만 한다면 락을 사용하는 순서 역시 설계 단계부터 충분히 고려해야 한다. 설계 과정에서 여러 개의 락이 서로 함께 동작하는 부분을 최대한 줄이고, 락의 순서를 지정하는 규칙을 정해 문서로 남기고 그 규칙을 정확하게 따라서 프로그램을 작성해야 한다. - 세세한 수준에서 락을 관리하는 프로그램에서는 두 단계의 전략으로 데드락 발생 가능성이 없는지를 확.. 2017. 5. 2.
[샌프란시스코] 인천공항 마티나 라운지 ( Matina Lounge ) 언제나 학생같은 마인드로 소비생활을 하는 내가..살면서 절대 못 갈 줄 알았던 공항 라운지를 이용하게 된 날이 왔다. 물론.. 아직도 나름 학생같은 마인드의 소비생활을 고수하는지라..내 돈 주고 가진 않고, 신용 카드에 딸려 있는 연 3회 무료 이용의 부가기능을 이용했다. 이용료 정가는 31$ 이다. ( 2016년 11월 기준 ) 인천공항의 마티나 라운지. 공항에 2개가 있다. 동편 11번 Gate 근처에 하나, 그리고 서편 43번 Gate 근처에 하나가 있다.나는 11번 Gate 근처의 것을 이용했다. 입구부터 멋지게 생겼다. 라운지에서는 여러가지를 할 수 있다.샤워를 할 수도 있고, 취침을 할 수도 있고, 밥을 먹을 수도 있고, 업무를 볼 수도 있다.그러나 우리( 나와 진짜별형 ) 는 곧 샌프란시스코.. 2017. 5. 2.
[샌프란시스코] 서울역 탑승 수속, 출국심사 & 공항이동 [샌프란시스코] 서울역 탑승 수속, 출국심사 & 공항이동 기대를 많이 했을텐데..바로 기대하던 샌프란시스코의 아름다운 모습으로 시작하지 않고,서울역에서 탑승 수속, 출국심사하고 공항으로 이동하는 것부터 시작해서 미안하다... 그러나 이 정보도 누군가에게 도움이 될 것 같고,여행기를 뒤죽박죽 쓰고 싶지 않아 이것부터 시작한다. 샌프란시스코 자체에 대한 이야기가 아니기 때문에재미가 없을지 모르나, 다음에 여행갈 때 참고하기 위해 간단히 읽어보길 권한당. 서울역 정문으로 들어가서 깊숙히 끝까지 이동하면 공항철도를 탈 수 있다.이곳에는 직통열차와 일반열차가 있다. 직통열차는 "직통" 이라는 말이 무색하게 몇몇 정류장은 선다. "급행" 이라는 말이 조금 더 맞을 것 같다.직통열차는 공항까지 약 45분.일반열차는 .. 2017. 5. 1.
[Java Concurrency] 활동성 최대로 높이기 #1 [Java Concurrency] 활동성 최대로 높이기 #1 - 안정성(safety)와 활동성(liveness) 사이에는 밀고 당기는 힘이 존재하는 경우가 많다. 스레드 안전성을 확보하기 위해서 락을 사용하곤 하는데, 락이 우연찮게 일정한 순서로 동작하다 보면 락 순서에 따라 데드락이 발생하기도 한다. 시스템 자원 사용량을 적절한 수준에서 제한하고자 할 때 스레드 풀이나 세마포어를 사용하기도 하는데, 동작하는 구조를 정확하게 이해하지 못하고 있다면 더 이상 자원을 할당받지 못하는 또 다른 형태의 데드락이 발생할 수 있다. - 자바 어플리케이션은 데드락 상태에서 회복할 수 없기 때문에 항상 프로그램의 실행 구조상 데드락이 발생할 가능성이 없는지 먼저 확인해야 한다. 10.1. 데드락 - 데이터베이스 시스템.. 2017. 5. 1.
[Server구축/Tutorial] 리눅스 기본 폴더 구조 [Server구축/Tutorial] 리눅스 기본 폴더 구조 -/ 루트 최상위 디렉토리 bin, etc, boot, mnt, usr, lib, home, dev, proc, var, sbin, tmp, root, lost+found 등의 폴더들을 가지고 있다. -/bin binaries 의 약어로 이진 파일들을 가지고 있다. 리눅스의 가장 기본 명령어들을 담고 있다. -/etc 리눅스 시스템에 관한 각종 환경설정에 연관된 파일들과 디렉토리들을 가진 디렉토리. 대부분의 파일들이 시스템 관리자에 의해 관리되는 파일들 웹 서버 환경 설정, 시스템 계정 사용자 정보, 패스워드 관리, 시스템의 파일 시스템 관리 파일, 여러 가지 시스템 보안에 관련된 파일들, 시스템 초기화 설정 파일, TCP/IP 설정 파일 등 시.. 2017. 4. 30.
반응형