Õ¾ÄÚËÑË÷: ÇëÊäÈëËÑË÷¹Ø¼ü´Ê

µ±Ç°Ò³Ãæ: ¿ª·¢×ÊÁÏÊ×Ò³ ¡ú Java רÌâ ¡ú ¹¹½¨×Ô¼ºµÄ»ùÓÚJavaµÄ³¬¼¶¼ÆËã»ú

¹¹½¨×Ô¼ºµÄ»ùÓÚJavaµÄ³¬¼¶¼ÆËã»ú

ÕªÒª: Èç¹ûÄúÔøÏë¹ý¹¹½¨×Ô¼ºµÄ³¬¼¶¼ÆËã»ú£¬µ«È´¶ÔÓà C ÓïÑÔ½øÐв¢Ðбà³ÌÍû¶øÉú磬ÄÇôαԶ³ÌÏ߳̿ÉÒÔ°ïÄú½â¾öÕâÒ»ÎÊÌâ
¡¡¡¡Èç¹ûÄúÔøÏë¹ý¹¹½¨×Ô¼ºµÄ³¬¼¶¼ÆËã»ú£¬µ«È´¶ÔÓà C ÓïÑÔ½øÐв¢Ðбà³ÌÍû¶øÉú磬ÄÇôαԶ³ÌÏ߳̿ÉÒÔ°ïÄú½â¾öÕâÒ»ÎÊÌâ¡£ÕâÖÖ»ñ½±µÄ Java ±à³ÌÄ£Ðͼ«´óµØ¼ò»¯Á˼¯ÈºÉϵIJ¢Ðбà³Ì£¬²¢Ê¹³¬¼¶¼ÆËã×ß³öʵÑéÊÒ£¬Ê¹Ã¿Ò»Î» Java ³ÌÐòÔ±¶¼ÄÜʹÓÃËü¡£

<iframe align=right marginWidth=0 marginHeight=0 src="http://images.chinabyte.com/adjs/iframe-pip/y-software-pip.html" frameBorder=0 width=360 scrolling=no height=300></iframe>¡¡¡¡ÔÚ¹ýÈ¥µÄÈýÄêÀ²¢Ðм¯ÈºÒÑÔڸıä×ų¬¼¶¼ÆËãµÄÃæò¡£Ò»µ©¼ÛÖµÊý°ÙÍòÃÀÔªµÄµ¥Ìå»úÕ¼ÁËÖ÷µ¼£¬²¢Ðм¯ÈººÜ¿ì¾Í»á³ÉΪ³¬¼¶¼ÆËã»úµÄÑ¡Ôñ¡£¿ÉÒÔÏëÏñµÃµ½£¬¿ª·ÅÔ´ÂëȦÄڵĸßÕÇÈÈÇéÒѵ¼Ö²úÉúÁËÊý°Ù -- Èç¹û²»ÊÇÊýǧµÄ»° -- ²¢Ðм¯ÈºÏîÄ¿¡£µÚÒ»¸öͬʱҲÊÇ×îÖøÃûµÄ¿ª·ÅÔ´Â뼯ȺϵͳÊÇ Beowulf¡£ÔÚ NASA ÔÞÖúÏ£¬ÓÉ Thomas Sterling ºÍ Donald Becker ÔÚ 1994 Äê·¢²¼µÄ Beowulf£¬¿ªÊ¼ÊÇ×÷Ϊһ¸ö 16 ½ÚµãÑÝʾ¼¯ÈºÍƳöµÄ¡£½ñÌ죬Beowulf ÒÑÓÐÊý°ÙÖÖʵÏÖ£¬´Ó Oak Ridge ¹ú¼ÒʵÑéÊÒµÄ Stone SouperComputer µ½ Aspen ϵͳ¹«Ë¾µÄ¶¨Öƹ¹½¨µÄÉÌÒµÐÔ¼¯Èº£¨Çë²ÎÔIJο¼×ÊÔ´£©¡£

¡¡¡¡¶Ô Java ³ÌÐòÔ±²»ÀûµÄÊÇ£¬¶àÊý¼¯ÈºÏµÍ³¶¼ÊÇΧÈÆ»ùÓÚ C ÓïÑÔµÄÈí¼þÏûÏ¢´«µÝ API ¡ª ÈçÏûÏ¢´«µÝ½Ó¿Ú£¨MPI£©»ò²¢ÐÐÐéÄâ»ú£¨PVM£©¡ª À´ÊµÏֵġ£Óà C ÓïÑÔ½øÐв¢Ðбà³Ì²»ÊǼþÈÝÒ×µÄÊ£¬Òò´ËÎÒÉè¼ÆÁËÒ»¸öÌæ´ú·½°¸¡£±¾ÎĽ«ËµÃ÷ÈçºÎ×ÛºÏÔËÓà Java Ïß³ÌºÍ Java Ô¶³Ì·½·¨µ÷Óã¨RMI£©À´´´½¨×Ô¼ºµÄ»ùÓÚ Java µÄ³¬¼¶¼ÆËã»ú¡£

¡¡¡¡Çë×¢Ò⣬±¾Îļٶ¨ÄúÓÐ Java Ïß³ÌºÍ RMI µÄÓ¦ÓÃ֪ʶ¡£

¡¡¡¡³¬¼¶¼ÆËã»úÄÚÓÐʲô£¿

¡¡¡¡³¬¼¶¼ÆËã»úµÄ¶¨ÒåÊÇ£ºÓɰ˸ö»ò¸ü¶àµÄ½Úµã×é³É¡¢×÷Ϊµ¥¸ö¸ßÐÔÄÜ»úÆ÷¹¤×÷µÄ¼¯Èº¡£»ùÓÚ Java µÄ³¬¼¶¼ÆËã»ú°üº¬Ò»¸ö×÷Òµµ÷¶ÈÆ÷ºÍÈÎÒâÊýÁ¿µÄÔËÐзþÎñÆ÷£¨Ò²³ÆΪÖ÷»ú£©¡£×÷Òµµ÷¶ÈÆ÷Éú³É¶à¸öỊ̈߳¬Ã¿¸öḬ̈߳üº¬Ö´Ðв»Í¬×ÓÈÎÎñµÄ´úÂë¡£¸÷¸öÏ߳̽«Æä´úÂëǨÒƵ½²»Í¬µÄÔËÐзþÎñÆ÷ÉÏ¡£È»ºó£¬Ã¿¸öÔËÐзþÎñÆ÷Ö´ÐÐǨÒƸøËüµÄ´úÂë²¢½«½á¹û·µ»Ø¸ø×÷Òµµ÷¶ÈÆ÷¡£×îºó£¬×÷Òµµ÷¶ÈÆ÷½«¸÷¸öÏ̵߳Ľá¹û×éºÏÆðÀ´¡£

¡¡¡¡ÕâÖÖ²¢Ðм¯ÈºÏµÍ³Ö®ËùÒÔ±»³ÆΪαԶ³ÌỊ̈߳¬ÊÇÒòΪÏß³ÌÊÇÔÚ×÷Òµµ÷¶ÈÆ÷Éϵ÷¶ÈµÄ£¬µ«Ïß³ÌÄڵĴúÂëÈ´ÊÇÔÚÔ¶³Ì¼ÆËã»úÉÏÖ´Ðеġ£

¡¡¡¡¸ÃϵͳÓÐÄÄЩ×é¼þ£¿

¡¡¡¡×é¼þÒ»´ÊÊÇÖ¸×é³É¡°Î±Ô¶³ÌÏ̡߳±²¢Ðм¯ÈºÏµÍ³µÄÂß¼­Ä£¿é¡£¸Ãϵͳ°üº¬ÒÔÏÂ×é¼þ£º

¡¡¡¡Job dispatcher£¨×÷Òµµ÷¶ÈÆ÷£© ÊÇÖ´ÐпØÖƵĻúÆ÷¡£ËüÉú³É²»Í¬µÄỊ̈߳¬Ã¿¸ö Ï̶߳¼°üº¬´Ë¼¯ÈºÒª´¦ÀíµÄÖ÷ÈÎÎñµÄÒ»¸ö×ÓÈÎÎñ¡£Ã¿¸öÏß³ÌÄڵĴúÂ붼±»·¢Ë͵½Ò»Ì¨Ô¶³Ì¼ÆËã»úÈ¥Ö´ÐС£Ïß³ÌÔÚ×÷Òµµ÷¶ÈÆ÷Éϵ÷¶È£¬ËùÒÔÀíÂÛÉϽ²£¬¸Ã»úÆ÷²»Ó¦¸ÃÓÃÓÚÖ´ÐÐÈκÎ×ÓÈÎÎñ¡£

¡¡¡¡SubTask ÊÇÒ»¸öÓû§¶¨ÒåÀ࣬¸ÃÀඨÒåÖ÷ÈÎÎñµÄÒ»¸öÊý¾Ý»ò¹¦ÄܶÀÁ¢µÄ²¿·Ö¡£Äú¿ÉÒÔΪÖ÷ÈÎÎñµÄ²»Í¬²¿·Ö¶¨Ò岻ͬµÄÀà¡£ÀàÃû SubTask ÊÇÒ»¸öʾÀý¡£Äú¿ÉÒÔΪһ¸ö SubTask ÀàÈ¡ÈκÎÃû×Ö£¬²»¹ýÕâ¸öÃû×ÖÓ¦¸ÃÄÜÃèÊö·ÖÅä¸øËüµÄ×ÓÈÎÎñ¡£ÔÚ¶¨Òå SubTask Ààʱ£¬Äú±ØÐëʵÏÖ JobCodeInt ½Ó¿ÚÒÔ¼° jobCode() ·½·¨£¬ÏÂÃæ¶ÔÆä½øÐÐ˵Ã÷¡£

¡¡¡¡JobCodeInt ÊÇÒ»¸ö Java ½Ó¿Ú¡£Äú±ØÐëÔÚ¶¨Òå×ÓÈÎÎñµÄÀàÖÐʵÏÖ¸Ã½Ó¿ÚºÍ jobCode() ·½·¨¡£jobCode() ·½·¨ÃèÊöÁ˽«ÔÚÔ¶³ÌÖ´ÐеĴúÂë¡£Èç¹ûÄú´òËãÔÚÔ¶³ÌʹÓÃij¸ö±¾µØ×ÊÔ´£¬Äú±ØÐëÔÚ jobCode() ·½·¨Íⲿ³õʼ»¯Õâ¸ö×ÊÔ´¡£±È·½Ëµ£¬ÄúÒª½«Ò»×éͼÏñ·¢Ë͵½Ô¶³Ì´¦Àí£¬¾Í±ØÐëÔÚ jobCode() ·½·¨Íⲿ³õʼ»¯ Image ¶ÔÏó¡£Äú¿ÉÒÔÔڸ÷½·¨Öе÷Óñê×¼ Java ¿âÖеÄÀ࣬ÒòΪԶ³Ì¼ÆËã»úÉÏ´æÔÚÕâЩ¿â¡£

¡¡¡¡RunServer ÊÇÒ»¸ö Java ¶ÔÏ󣬸öÔÏóÔÊÐíÔ¶³Ì¹ý³Ìµ÷ÓÃÆä·½·¨¡£ËüµÄÒ»¸ö·½·¨ÒÔʵÏÖÁË JobCodeInt ½Ó¿ÚµÄ¶ÔÏó×÷Ϊ²ÎÊý¡£ RunServer ¾ÍÔÚÔËÐиöÔÏóµÄ¼ÆËã»ú£¨ÔËÐзþÎñÆ÷£©ÉÏÖ´ÐиöÔÏóÄڵĴúÂ룬²¢½«¼ÆËã½á¹û×÷Ϊ Object ÀàµÄÒ»¸öʵÀý·µ»Ø¡£Object ÊÇ Java Àà²ã´Î½á¹¹ÖÐ×î¸ßÒ»¼¶µÄÀà¡£

¡¡¡¡PseudoRemThr ÊÇÒ»¸ö Java À࣬¸ÃÀà·â×°ÁËÒ»¸öÏ̲߳¢½ÓÊܸø¶¨ SubTask ÀàµÄÒ»¸öʵÀý¡£ËüÑ¡Ôñһ̨Զ³ÌÖ÷»ú£¬²¢½« SubTask ʵÀý·¢Ë͵½Õą̂Ö÷»úÉÏÖ´ÐС£Èç¹ûÄúÒªÀûÓÃij̨Ö÷»úÉÏ¿ÉÓõÄÌض¨×ÊÔ´£¨ÖîÈçÊý¾Ý¿â»òÊÇ´òÓ¡»ú£©£¬Ôò¿ÉÒÔÖ¸¶¨Ö÷»ú¡£

¡¡¡¡HostSelector ÊÇÒ»¸öÄ£¿é¡£Èç¹ûÄúûÓÐÖ¸¶¨Ô¶³ÌÖ÷»ú£¬PseudoRemThr Àà¾Í»áµ÷Óà HostSelector Ä£¿éÀ´Ñ¡ÔñÌض¨µÄÖ÷»ú¡£Èç¹ûûÓпÕÏеÄÖ÷»ú£¬HostSelector »á·µ»Ø¸ºÔØ×îСµÄÔ¶³Ì¼ÆËã»ú¡£Èç¹ûij¸öÔ¶³Ì¼ÆËã»úÊÇÒ»¸ö¶à´¦ÀíÆ÷ϵͳ£¬HostSelector ¿ÉÄܻ᲻ֹһ´ÎµØ·µ»Ø¸ÃÖ÷»úÃû¡£Ä¿Ç°£¬HostSelector ÎÞ·¨¸ù¾Ý¸ø¶¨ÈÎÎñµÄ¸´Ôӳ̶ÈÀ´Ñ¡ÔñÖ÷»ú¡£

¡¡¡¡Î±Ô¶³ÌÏ̵߳Ť×÷·½Ê½

¡¡¡¡ÒªÊ¹ÓÃαԶ³ÌỊ̈߳¬Äú±ØÐëʵÏÖ×÷Òµµ÷¶ÈÆ÷ºÍÔËÐзþÎñÆ÷¡£±¾½Ú½«ËµÃ÷ÈçºÎʵÏÖ¸÷¸ö²¿·Ö¡£

¡¡¡¡ÊµÏÖ×÷Òµµ÷¶ÈÆ÷

¡¡¡¡Ê×ÏÈ£¬½«Ö÷ÈÎÎñ·Ö½âΪÊý¾Ý»ò¹¦ÄܶÀÁ¢µÄ×ÓÈÎÎñ¡£Õë¶Ôÿ¸ö×ÓÈÎÎñ£¬¶¨ÒåÒ»¸öʵÏÖ JobCodeInt ½Ó¿Ú£¨´Ó¶øʵÏÖ jobCode() ·½·¨£©µÄÀà¡£ÔÚ jobCode() ·½·¨ÖУ¬¶¨Òå¸÷¸ø¶¨×ÓÈÎÎñÒªÖ´ÐеĴúÂë¡£

¡¡¡¡Çë×¢Ò⣬Äú²»Äܵ ÷ÓÃ×÷Òµµ÷¶ÈÆ÷ÉÏÓû§¶¨ÒåµÄµÄ±¾µØ×ÊÔ´¡£ÇëÔڸ÷½·¨Íⲿ³õʼ»¯ËùÓÐÕâÀà×ÊÔ´¡£ÀýÈ磬Äú¿ÉÒÔÔÚ SubTask ÀàµÄ¹¹Ô캯ÊýÖгõʼ»¯ÕâÀà×ÊÔ´¡£

¡¡¡¡´´½¨Àà PseudoRemThr µÄÈô¸ÉʵÀý£¬²¢½« SubTask µÄʵÀý´«µÝ¸ø PseudoRemThr µÄ¸÷¸öʵÀý¡£Èç¹ûÄúÒªÃ÷È·Ö¸¶¨Ò»Ì¨Ô¶³ÌÖ÷»ú,Äú¿ÉÒÔͨ¹ýµ÷Óà PseudoRemThr ¶ÔÏóµÄÁíÒ»¸ö¹¹Ô캯ÊýÀ´Íê³É¡£

¡¡¡¡µÈ´ýÕâЩÏß³ÌÍê³É¡£µ÷Óà getResult() ·½·¨À´»ñÈ¡ PseudoRemThr µÄ¸÷¸öʵÀýµÄÖ´Ðнá¹û¡£Èç¹û¼ÆËãûÓÐÍê³É£¬½á¹û·µ»ØÒ»¸öֵΪ false µÄ Boolean ¶ÔÏó£»·ñÔò£¬½«·µ»Ø Object ÀàµÄÒ»¸öʵÀý£¬ÆäÖаüº¬Á˼ÆËã½á¹û¡£Äú±ØÐ뽫´ËʵÀýת»»ÎªÄúËùÏ£ÍûµÄÀàÀàÐÍ¡£½«ËùÓеÄ×ÓÈÎÎñ½á¹û×éºÏΪ×îÖÕ½á¹û¡£

¡¡¡¡ÊµÏÖÔËÐзþÎñÆ÷

¡¡¡¡ÊµÏÖÔËÐзþÎñÆ÷ÊÇÒ»Ïî¼òµ¥µÄ¹¤×÷£º

¡¡¡¡Æô¶¯ RMI ×¢²á³ÌÐò¡£

¡¡¡¡Æô¶¯ RunServer¡£

¡¡¡¡ÔËÐзþÎñÆ÷ÔÚÆô¶¯Ê±½Óͨ×÷Òµµ÷¶ÈÆ÷£¬²¢Í¨Öª×÷Òµµ÷¶ÈÆ÷ËüÒÑ×¼±¸¾ÍÐ÷£¬¿ÉÒÔ½ÓÊÜÒªÖ´ÐеÄÈÎÎñÁË¡£

zmbbs=1;



¡ü·µ»ØĿ¼
ǰһƪ: Java SwingÈëÃÅ»ù´¡
ºóһƪ: JavaʵÏÖÊý¾ÝÇý¶¯µÄÃüÁîÓû§½çÃæ