제목 처럼
리눅스에서 pthread를 사용한 서버를
IBM AIX로 포팅 하려 합니다.
IBM AIX가 외부 업체 장비라.
바로 포팅 테스트가 불가능 합니다.
막상 가서 포팅 할때 좀 걱정이 되는데.
이런 작업 하신 분 계시면 조언 부탁 드립니다.
그럼 즐거운 하루 되세요.... ^______^;;
리눅스에서 작업하셨다면 32비트겠군요.
그리고, 쓰레드는 크게 차이가 없을 것 같군요.
한가지 차이라면, 리눅스에서는 process scope이 없어서
system scope으로 동작했을 겁니다.
소스코드에서 aix의 경우에는 system scope으로 속성을 변경시켜
주시기 바랍니다. (혹은 환경변수로 설정. 아래 참조)
그리고, AIX의 경우 쓰레드 라이브러리에 대한 동작을
환경변수로 조절하게 됩니다.
다음과 같은 환경변수가 없는 경우 runtime시 문제가
발생할 수도 있습니다.
또한, 메모리 할당 해제 등의 라이브러리도 환경변수로
조절해서 튜닝을 하셔야 합니다.
* AIXTHREAD_MNRATIO=1:1 * AIXTHREAD_SCOPE=S * AIXTHREAD_MUTEX_DEBUG=OFF * AIXTHREAD_RWLOCK_DEBUG=OFF * AIXTHREAD_COND_DEBUG=OFF * SPINLOOPTIME=1000 * YIELDLOOPTIME=50 * MALLOCMULTIHEAP=1
자세한 내용은 검색해 보시기 바랍니다.
위의 세팅은 저희 제품에서 설정해서 사용하고 있는 것입니다.
컴파일 및 링크 옵션은 컴파일러 마다 다르므로 찾아 보시면
되겠네요.
좋은 하루 되시길.
고도의 추상화, 극도의 구체화, 에디슨을 그리워하다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
리눅스에서 작업하셨다면 32비트겠군요.그리고, 쓰레드는 크게 차
리눅스에서 작업하셨다면 32비트겠군요.
그리고, 쓰레드는 크게 차이가 없을 것 같군요.
한가지 차이라면, 리눅스에서는 process scope이 없어서
system scope으로 동작했을 겁니다.
소스코드에서 aix의 경우에는 system scope으로 속성을 변경시켜
주시기 바랍니다. (혹은 환경변수로 설정. 아래 참조)
그리고, AIX의 경우 쓰레드 라이브러리에 대한 동작을
환경변수로 조절하게 됩니다.
다음과 같은 환경변수가 없는 경우 runtime시 문제가
발생할 수도 있습니다.
또한, 메모리 할당 해제 등의 라이브러리도 환경변수로
조절해서 튜닝을 하셔야 합니다.
* AIXTHREAD_MNRATIO=1:1
* AIXTHREAD_SCOPE=S
* AIXTHREAD_MUTEX_DEBUG=OFF
* AIXTHREAD_RWLOCK_DEBUG=OFF
* AIXTHREAD_COND_DEBUG=OFF
* SPINLOOPTIME=1000
* YIELDLOOPTIME=50
* MALLOCMULTIHEAP=1
자세한 내용은 검색해 보시기 바랍니다.
위의 세팅은 저희 제품에서 설정해서 사용하고 있는 것입니다.
컴파일 및 링크 옵션은 컴파일러 마다 다르므로 찾아 보시면
되겠네요.
좋은 하루 되시길.
고도의 추상화, 극도의 구체화, 에디슨을 그리워하다.
댓글 달기