Japan Akihito Fujii's Weblog 日々是新 Akihito Fujii's Weblog

水曜日 12 10, 2008

English Translation: (Google) / (Yahoo!)

「Googleがブラウザ上でネイティブコードを実行できる「Native Client」を公開」。このニュースには驚いた。完全に意表をつかれた。よく考えたら、これ・・・すごいではないか。WebがPlatformだと真剣に考えると、こうなるのか。Soft vendorは頭ではわかっていてもweb をplatformとして信じきれていないのか。うーむ。考えさせられるニュース。
English Translation: (Google) / (Yahoo!)

すいません。思いつくままつらつらと書いてみます。 最近Cloudについて話をすることがあるのですが、Cloud Computingってなんでしょう。2004年にGoogleのCEO Eric Schmitが使ったようですが、wikipediaをみても定義は曖昧です。Hype カーブの絶頂にあるキーワードですので、Marketing word onlyとして使っている人にとっては、例のごとく「何でもできるCloud」となるのでしょう。また確実にその過剰な期待のバブルはすこしばかりはじけ る事になるのでしょう。しかし、Cloud Computing環境は、LegacyなIT businessの根幹を揺るがすことは確実です。

Could Computingは、SaaSもPaaSもIaaSもMapReduce/Hadoop,分散ファイルシステム等の要素技術も、ごちゃ混ぜにして全体で 語られることが多いのですが、あえて今回はIaaSの部分のみを考えてみたいと思います。IaaSのLeaderは、言わずもがなAmazon Web Serviceです。「IT ベンダー、アマゾン(1) 〜異業種参入がIBM、MSを脅かす 」の図1がわかりやすいですが、もはやAmazonはITベンダーになってます。本Blogでも何度も書いていますが、ITは業種の壁を崩してなんぼで す。そこにこそ大きなビジネスチャンスが広がっています。Online BookStoreがITベンダーになってもなんら不思議はありません。USのRack Space, GoGridなどの先進DataCenter事業者もこのIaaSのビジネスを展開しています。Amazon WSの本日のNews letter にありましたが、EC2がEuropeでstartし、Regionを超えたCloud Computing環境を展開しています。災害対策の考え方も、バックアップの考え方も今後大きく変わる事は間違いありません。日本のIT企業は DomesticなBusinessをしている企業が多いですが、Global企業の多い日本なら逆にAmazonのような展開は魅力的かもしれません。
USではSocial ApplicationのStartup企業が、EC2やS3をよく使っているそうです(S3 onlyも多いようですが)。Animoto のAmazon WSの活用事例はImpactあります。Solaris ZFS userとして紹介したSmugmugもS3です。Smugmug CEOのS3の話はとても参考になります。(彼のBlogはいつも詳細で勉強になります。)
事例は調べれば簡単に探せますし、SunのBlogでAmazonの宣伝してもしょうがないので、このぐらいにしますが、ITシステム構築のお約束が IaaSによってすこしづつHardwareの領域でも崩れつつあることは明らかです。ここまでのインパクトは当時想像できませんでしたが、「Open Sourceのビジネスとしての効用は利用者がServiceとしてビジネスをしてこそ・・・」と書いた事がありますが、まさに具体例でもあります。
 忘れていました、Cloud Computingの効用を説明するための有名なNewYork TimesのTimesMachineの事例も、抑えておかねばなりません。金額が問題なのではなく、必要な時に必要なだけ巨大なコンピュータリソースを 利用できるようになると、新たなITの活用法が生まれてきます。つまりこれまでITで解決はむつかしい、もしくは諦めていた事がITで姿を変えるというこ とです。(ワクワクしませんか?)
Sun CTOのGreg Papadopoulosが、「IBMの創業者が、世界にコンピュータは5台もあれば十分だと発言し、その後笑いの種になってしまったが、Cloud時代 の"'C'omputer"は、5台ぐらいでいいのかもしれないね。」と発言したようです。(Cloud Computerが5台(5社)という意味です。)

もちろん、IaaS環境を問題点を指摘することは簡単です。やれSLAはどうだとか、Securityは、Networkの信頼性は、データが外部で は・・・。ええ、全部いきなりIaaSなんてあり得ません。しかし、確実に既存のやり方、環境は崩れて行きます。CloudのSLAも上がっていくでしょ う。(もしくはSLAのバリエーションが増える事でしょう。)同時に自分でCloud Computing環境を作ることを考えられるようになるのでしょう。SunのようなHardwareと、Virtualization technologyの開発を進める企業や、OSベンダー、EucalyptusのOpen Projectや、EnomalismのようなISVが実現する方法を提示するのだろうと思います。

いまIT部門、ITベンダーが考えるべき事はなんでしょうか。いつでも大切なことは変わりません。「その新しいTechnologyで、どんな Innovationを起こせるかを考えること」です。ITベンダーは同業他社だけねなく、世界のNetwork DataCenterと協業しかつ戦わねばなりません。IT部門はどうでしょうか。Cloud時代が如何に訪れようと、内容は変わっても、IT部門のやる べき仕事は減りません。Cloud環境をどう活用するのか、革新をどう引き出すのかということを考えねばなりません。(日本独特のSIerは、DCと組ん でEnterprise Cloudを実現するか、Cloud上でのsystem integration knowhowを溜めねばなりませんね。)

さて、Sunです。会社の調子はよくありませんが・・・CoolThread Serverや、ZFS,  Sun xVM, Crossbow, Caroline, Java, MySQL・・・他社にない、かなりいいCloud 時代のCore infra技術育んでます。(育みすぎだという話はありますね・・・苦笑)Data Center Partnerと面白いこと出来る感じしませんか?

続きはまた後日。
English Translation: (Google) / (Yahoo!)

久々のエントリですが、イベント参加関連の情報をまとめておきます。

JavaFesta 2008


11/28 札幌にてJava Festa 2008が開催され、key noteを担当させて頂きました。slidesは、JavaFestaのweb siteからdownloadできると思います。かなりの内容を詰め込みましたので、Java developerのみなさんに「ネタ」を提供できたのではないかと思っています。
開発言語や、Technology、もしくはDeveloper Toolsなどは、「自分がワクワクするもの」を選ぶ方がよいのだろうと思っています。もちろん、仕事上での制約もあるでしょうから、いつでもどこでも好 きにやれることは少ないでしょうが、一人の開発者としてワクワク感をどこかに持っていて欲しいなと思います。
セッションでも触れましたが、Dynamic Languageが人気の昨今ではありますが、Javaは開発言語だけを意味するものはありません。Java言語, JavaVM, Java APIの優れた面、面白い面はまだまだたくさんあります。他のDynamic Languageを取り込むMulti language機能、IDE/App serverで実現される機能、Realtime, Many Core時代のConcurrent Uitily, Project Caroline等Cloud時代の実行プラットフォームとしての機能など、Javaの蓄積をもっともっと活用してくださいませ。 (Multi Coreで早いというアプリケーション作りこれから大切ですよー。マジでー)

Sun University Day

12/4 Sun Tech Daysの一環として、学生向けイベントUniversity Daysが開催されました。学生にもっとSunのTechnologyを知り、コミュニティを形成してもらいたいというのが主旨ですが、Zemblyの Sessionあり、Sun Campus AmbassadorによるJames Gosling質問会など盛り沢山の内容となりました。Sunは学生向けにSun Open Source Meet upというSNSサイトを運営しています。CAのみなさんや、世界のOpen Sourceに興味をもつ学生と繋がりたい場合にはこのOSUMに登録してくださいませ。ITはGlobalに動いています。OSUMを切っ掛けにして、 学生時代からGlobalなCommunityで情報交換する経験を積んでみてはいかがでしょう。中学生や高校生もwelcomeですよ。是非OSUMに 登録して仲間に加わってくださいませ。
ちなみに、Sun Academic Initiativeのprogramと して、Sunの有償トレーニングの一部が、学生向けに無償公開さ れることになりました。日本語でもJava programming, Solaris のコースがあります。JavaやSolarisの認定をとる勉強をしたいなという方は、学生のうちに取っておいてくださいませ。なんせ結構な金額の教育 コースが無料ですからね。(広告費無いので宣伝あんまりしてません・・・)もちろん、Web baseのトレーニングですから、全国の学生のみなさん、ご利用くださいませ。学校全体で無償トレーニング活用したい学校があったら教えてください。 Java Evangelist派遣できるか検討します。

Web 2008 Expo

Web 2.0 Expoがキャンセルになり、Advisary board chair 本荘さんの奔走で実現の運びとなったWeb 2008 Expo。 キャラの濃い方々が多数参加で大盛況のイベントとなりました。私は12/4のMashup and BeyondのSessionのNavigatorを担当し、Mashup Awards 4の受賞者 浜本さん浦野さんに登壇頂きました。kentaroさんに声がけ できなかったものの、反応は上々。浦野さんのデモには磨きがかかり、浜本さんのアツいプレゼンに驚き、とても濃いセッションとなりました。(それぞれ1時 間必要ですね。)
いつでもパワフルなVenture BEAT ProjectのIBM の勝屋さんには写真もとって頂き、VC, Startupの方々から面白い話を色々と聞かせて頂きました。家のローンを抱えていなければ・・・ベンチャー憧れます(笑)。

木曜日 11 27, 2008

English Translation: (Google) / (Yahoo!)

(新さん、ごめんなさい。)JavaFesta 2008の小生のセッション資料が今できました。
明後日というか明日11/28(Fri)に札幌で講演するネタを、今頃仕上げている事実が問題と言われてしまうかもしれませんが、今回は先週のUSで仕入れた情報も加味しながら出来るだけ情報盛りだくさんの内容にしたいと思ってしまい、ギリギリになってしまいました。
あれもこれもとネタを入れ過ぎることは、技術系のプレゼンや、学習系のプレゼンでは、「してはいけないこと」の代表例です。ええ、わかってます。しかし、今回は勝手にこんな感じで考えてしまいました。

「General Sessionだから、注目すべきキーワードを盛り沢山にして、それぞれが興味のあるItemを拾って帰ってもらうことを目的にしようと。」

JavaFestaは、札幌のDeveloperの方に会う事ができる年に一度の貴重な機会ですから、あえてこう考えました。ある意味、自分勝手な挑戦ですが(苦笑)、是非とも参加頂ける方はおつきあいくださいませ。

土曜日 11 22, 2008

English Translation: (Google) / (Yahoo!)

Snap at Stanford Shopping Center
English Translation: (Google) / (Yahoo!)

11/28に札幌にて、Java Festa 2008が開催されます。昨年は諸事情により参加できませんでしたが、今年は基調講演を担当させて頂くことになりました。JavaOne 2008のUpdateを織り交ぜながら、今後のエンジニア、技術者が注目すべきテクノロジーについてお話させて頂きたいと思います。

Javaは、すでにプログラミング言語としての境界線を越え、Social Applicationから、他言語の実行環境、Cloud Computingの基盤、SOA基盤へと進化を続けています。Javaが何を変えるのか、みなさんが何を変えられるのか、幅広くお話をしたいと思います。

先日行われたプログラミング・コンテスト、Mashup Awards 4のネタもすこしだけご紹介します。技術は社会を変えるだけでなく、みなさんの今後のキャリアも変えていきます。最新の「テクノロジー」に「アツく」なりましょう! Sunからは大渕さんが参加します。GlassFishのセッションを担当します。ネタ満載ですのでよろしくお願いします。
北海道(札幌)のDeveloperのみなさん。お会いできる事を楽しみにしています!懇親会でお話しましょう!
PS. 今年こそ、スープカレー食べるぞ。遅くまでやってるスープカレーの店教えてくださいませー。 PS. T-Shirts投げます!投げてほしいかた、会場から声かけてくださいませ。(シーンとしているところには投げにくいですw)

金曜日 11 21, 2008

English Translation: (Google) / (Yahoo!)

ZFS storage applianceのセミナーをやるそうです。興味のあるかた どうぞご参加ください

GOOOD Timing, 寺島さん:)

-------------------------------------------------------
    Open Storage 新製品発表会 
            12月4日 10:00 東京ミッドタウン
まったく新しいコンセプトのアプライアンスストレージ
             「Sun Storage 7000シリーズ」
-------------------------------------------------------
開催日時:2008年12月04日(木)10時から12時
開催場所:東京ミッドタウン・ホール
費  用:無料(事前登録制)
主  催:サン・マイクロシステムズ株式会社
お申し込み方法:下記サイトからお申し込みください。
http://jp.sun.com/company/events/2008/000284.html

木曜日 11 20, 2008

English Translation: (Google) / (Yahoo!)

Sun Storage 7000シリーズ。これ必見の製品です。私がわざわざストレージ製品を紹介するなんで異例ですが、それぐらいかっこいい製品です。

Sun Storage 7000の特集ページ
DRAM/SSD/HDDをHybrid Storage PoolとしてZFSでまとめてしまい、DTrace活用したReal Timeに利用状況が詳しく監視できるツールがつき、ZFSもToolもSolarisベースだから安く仕上げて激安(競合に比べてね。)

# USの社内ポスターに価格比較が「バン!」と出てて驚いた。日本は比較広告難しいからこういうとき口惜しいですね。
最近ときどきハードに感動してますが、これはその中でも総合力の勝利かも。もしかしたら、Solaris利用増加率が、ServerよりもStorage側の需要から上がって来たりして・・・。SmugMugもZFS使いたくてOpenSolaris使ってるぐらいだから・・・。
SSD使うかどうかをごちゃごちゃ検討するより、ZFS/DTrace活用した素晴らしいmanagement/monitoringツールついたHybrid型の方が使い勝手がよいのだろうと思います。車も電気かガソリンかでなく、Hybridからでしたものね。Hybridの初代高かったですが、これならSun Storageの価格ならよいのではと。

ネットサービス系の方で興味も持たれた方がいましたら、教えてくださいませ。私の感動ポイントがどう現場とちがうのかも知りたいので・・・m(__)m
ZFS/DTraceの勝利ですな、と勝手におもったりする。本当はもっとハードのよいところも書かねばいけなんでしょうが。
English Translation: (Google) / (Yahoo!)

本来であれば、今頃は当初計画されていたWeb2.0 Expoの準備に追われていたのかもしれませんが、ご存知の通りWeb2.0 Expo Tokyoはキャンセルされてしまいました。昨年の反省を活かしてかなりよいコンテンツがそろっていたにも関わらずのキャンセルでちょっと残念でした。

実は、キャンセルが決まった後、Advisary BoardのChairをされていた本荘さんが「どうせなら小規模でも別のイベントやんない?」とお誘いがあり、Web 2008 Expoと題して独立イベントの実施にすこしだけ協力することとなりました。もちろん、Sun 藤井としては、Mashup Awards 4の受賞者に登壇頂きたいため、本イベントにてMashup Sessionを企画することとなりました。

Web 2008 expo のイベントサイト https://event.tokyo-cci.or.jp/event_detail-18688.html

Web 2008 expo のイベント・ブログ http://d.hatena.ne.jp/web2expo

私が担当となるMashup Sessionは、12/4でMA4の受賞者に登壇頂きます。
今回はTechnology賞を受賞し開発者全員に「この技術すげー」と言わしめたNewsgraphyの浜本さん、Any Device賞を受賞し審査員に「Any Device Mashupの極み」と言わしめたUranodaiさんに登壇頂き、デモを含め作品の解説をして頂きます。浜本さんはMA4の授賞式に参加できませんでしたから、初「生」MA4 浜本さんになりますね。ちなみに、最優秀賞のChamapの山さんは12/2にSun Tech Daysに顔出すかもだそうです。

手作り的な企画ながらWeb Design, Social network, OpenID, Mashup, Mobile, Carnaviなど盛りだくさんのセッションがあります。東京商工会議所・SNS, XSHIBUYAの運営で、各日懇親パーティ込みで4千円です。12/2-4はSun Tech Daysですが、夜はこちらに足をお運びくださいませ。

どうしても行きたいけど、4000円が払えない・・・朗報です。1枚だけ藤井がプレゼントします。早いもん勝ちです。藤井までメールください。
English Translation: (Google) / (Yahoo!)

12/2-4まで、東京ミッドタウンでSun Tech Daysが開催されますが、今年は12/4午後に、Sun University Dayと題して学生向けの 特別セッションが開催されいます。Javaの父、James Goslingもこの小規模学生向けイベントに参加が決定しました。学生(気持ちは 学生、中学生、高校生)のみなさま、是非本イベントに参加ください。もちろん、無料です!iPodの抽選もあるみたいです。

Sun Tech Days 2008

Sun University Day

University Daysの見どころをすこし紹介します。SDCのメールに私の文面使ってくれとお願いしたので、知ってるよと言われるかも しれませんが・・・。

★「Javaの父、James Goslingに直接聞いてみよう!」
急遽University Dayに特別参加決定!SunのCampus Ambassadorの ナビゲートでJavaの父、James Goslingに質問できるかも。 「成功する秘訣は?」なんてきいてみたいですね。 遠くのステージでしかみられないJamesと握手できるかも!?

★「Sun SPOT」デモ
無線センサーでバイス「Sun SPOT」の興味深いデモを、想像力 全快でご覧下さい。

★「Building your Facebook Application using Zembly」
FacebookなどのSNSサイト用Social アプリを作ってみませんか? Zemblyを使ったブラウザベースの簡単Social Applicaiton開発を 紹介します。

★JavaFX: Building RIA application with ease
JavaOne 2008でも大注目だったJavaFX。派手なJavaアプリを簡単 につくってみましょう。

★Introduction to OpenSolaris - Earn a Certificate!
UNIX OSの技術を、学びすばやく身につける近道を紹介します。 学生の間にSolaris認定技術者になっちゃいましょう。学生無料の 特別プログラムも紹介予定です。



   みなさんの参加、お待ちしています。

水曜日 11 19, 2008

English Translation: (Google) / (Yahoo!)

Amazon CloudFrontが発表されました。今度はCDNをサービス化ですか・・・AWSおそるべし。ITの伝統的な製造業的ビジネスがネットの世界からすこしづつしかし確実に崩れ始めていますね。

木曜日 11 06, 2008

English Translation: (Google) / (Yahoo!)

・・・BlogやWeb検索で引っかかってくれることを祈りつつ私信でございます・・・

名古屋大学工学部の情報工学関連の卒業生のみなさま、

昨日の名古屋出張の際、名報会の役員の方から、「東京での集まりを企画しては?」と提案を受けました。名報会の会費を払っていない私ですが(ヤバい・・・相当な額溜まっているはず(T_T))、東京で活躍されている卒業生の方も多いのではと思います。一度、軽い飲み会でも企画したいと思っています。もしこのblogに引っかかった方がいましたら、akihito.fujiiあっとgmail.comまたはsun.comまでご連絡くださいませ。

# Linked-inでgroup作ろうかと思ってます。
名大関係者からノーベル賞が連発された年ですので、よい機会かと(工学部関係ないし、意味不明ですね。苦笑)

木曜日 10 30, 2008

English Translation: (Google) / (Yahoo!)

Shingoyは現在ここで、冨田さんと一緒に頑張ってます。BusinessとGlobalな展開をStartup当初から考えているTechnologyを持った会社です。応援したいです。みなさまからも、是非ともご支援よろしくお願いします。Enterprise Mashupでビジネスを考えている方、エンジニアとして有望なベンチャーに就職したいかた、いろんな意味でアクセスよろしくです。(エンジニア募集中のはずです、確か)まだ小さい会社なのでビジネスの領域では色んな意味で、きっと対応リソース限られてますから早い者勝ちです(笑)。
Shingoyへ、自分に自信をもって、テクノロジーに媚びず、ちゃかさず謙虚な態度で、ITの「ビジネス」に真っ直ぐ進んでください。

金曜日 10 24, 2008

English Translation: (Google) / (Yahoo!)

ハードに弱い私としては、これからのデータセンターを考える上では、CPUの進化の歴史を理解する必要があるわけで、Systems Practiceの隠れGeek的場さんに色々とこれまでの歴史を教えてもらいました。大昔の話は私もしっているので、2000年以降の話をちょっとメモとして共有。

これ根拠のある資料がないので、間違っているのかもしれませんから、なんかおかしなところあったら教えてくださいませ。

CPUは、Desktopパソコン用のCPUとサーバ用CPUの進化があった。前者の代表はもちろんIntel。後者はSPARCや、Power。2002年IntelはCPUの性能を表現することにクロック=性能というマーケティング活動を推進(証拠無いけど)。Desktopだからクロックアップが性能アップにすぐつながったのかな。2004年には10Gまでクロックを上げると言っていたそうだ。その後パイプライン処理を増大させて性能向上を目指したが、同時にパイプライン処理の増大によるフェイル時のリカバリコストが増大。結果キャッシュを増やしてカバーすることとなった。Intelのキャッシュの肥大化が続く。微細化も進み65nmぐらいになってくると、原子数個分の回路になり、リーク電流が問題になってきた。結果、クロック数を上げた割には思ったように性能がでない状態が続く。メモリ待ちの問題もある。CPUがフル回転してもメモリ待ちでCPU使い切れない問題もあり。

そんな時にOpteronが2003年に登場。クロックを抑えても独自のアーキテクチャで高性能を発揮。コアをHyperTransportでつなぎ、ccNUMAの構造で高性能を実現。サーバ用CPUではもっと速い段階でccNUMAとSMPの対決があったが、その当時はSMP実装の方が高速で、Sunは1998,9年頃からUltraSPARC IIIで、SMP路線。私もSolaris担当の時ccNUMA実装は遅いからねぇーと何度も聞いたことを覚えている。x86互換64bit対応のAMD64 Opteronの成功で、IA64とIA32を分離していたが、EM64Tに再び脚光があたりccNUMAのNehalemへのロードマップがひかれる。Xeonの最近の進化でOpteronを猛追。今後もXeonが進化する様子。結果、Itaniumのロードマップに怪しさが増す。もちろん、Itaniumは維持してHigh endにとうのがIntelの話ではある。ちなみにItaniumのシェアが高くて競合だいうようなことを話すと、海外に人に驚かれた事がある。

無論、クロックアップで、発熱量の問題も発生。ラックに必要な電力が供給されず、最新のCPU搭載サーバを詰め切れない問題も発生。空調等の熱対策にデータセンターが躍起になる。PUEの値が注目されている。Google 1.21, 最新Sun SuntaClara DC 1.28だそうだ。

CPUのマルチコアで次に問題になるのはMemory Controller。SPARCは現在はUltraSPARC Txで8コア。2coreでMCを共有、パイプライン7段(RISC)。Opteronは1つでパイプライン15段。パイプラインが少ない方がCPUはシンプルになるから、8coreとか実現できる。coreあたりの性能はOpteronの方が高い。FB-DIMMもMCの課題を解決する方法の一つだが、デジーチェインで、消費電力大。DIMMが4wattに対して、1枚10watt(!)。16枚さしたら、メモリの方がCPUより消費電力が高くなっていまう(!)。Buffer on Boardが今後の主流になりつつある。次のCPUはBuffer On Board実装のながれ、Sunの次世代CPUもそう。

マルチコアを活かすために、IntelはOpenMPとかマルチコアのメリットをビデオでいろいろと宣伝している。OpenMPのネタとかちらり見たが、JavaのConcurrent utilityとかそのレベルではないようす。そういう意味でもSolaris/Javaとの提携などがあるのかな。Single CPU思考のアプリはかなり今後苦戦しそうないきおい。

UltraSPARC Txはすごいなと改めて思うし、Sunのマルチコアから、Solaris, Sun xVM, Java, Glassfish(Grizzly), Project Caroline, Sun MDと、CPUサイドからみてもかなり一貫性の有るストーリーだと再認識したが、それをきちんと技術的にまとめてある資料がない。The network is the computerそのものだけど、それを分解して説明せねば・・・

きっとこういうこと全体として結びつけて理解できていないとCloud Computingの考え方も、単なる昔からのデータセンターの延長にしかならないんだろう、と感じる。


う、完全にメモですね。今度きちんとまとめよう。SunはAMD/IntelのCPU搭載サーバも販売しているわけで、そちら側からの意見も直接担当者にきいてみよう。

Java Concurrent UtilityのCASのコストはContext Switchに比べて非常に軽い(当たり前か。)Lock指向のマルチプロセスのプログラミングとは実行面でコストが全く異なる。parallelに近い。マルチコアの得意とするところ。


さて、こういうことふまえて現実面での効用に結びつけて考えねばいかん。どう説明しよう。(苦笑)
English Translation: (Google) / (Yahoo!)

最近、Sunとしてのプレゼンを作成するために、Parallel ComputingとConcurrent ComputingやMultiCoreの活用について情報を取りまとめ中。自分のメモと周りの意見を聞くために、本ブログで整理したいと思います。

Parallelは、日本語訳は並列。Instructionレベルでの同時多重処理を実現するのための技術。
Concurrentは、日本語訳は並行。Taskレベルでの同時多重処理を実現するための技術。

最近ではParallel ComputingがConcurrent Computingを含みつつあるようで、またConcurrentもPrallelの意味で使われていたりするようだが、大学でConcurrent Computingにたまたま興味を持った私個人としては、Parallelとは一緒にしてほしくないなぁと。Message型のErlangなどはConccurentかと。

さて、CPUのマルチコア化が進行するなかで、プログラマや技術者に対してParallel Programming, Concurrent Programmingの必要性が高まっています。さてどこから勉強すればいいのでしょう。簡単です。マルチスレッド、マルチプロセッサー環境で経験を積んで来たプログラマや技術者から学ぶことです。もちろん、1台の巨大なMT/MP環境だけでなく、Network 上でマルチノードを前提にしたGrid Computingからも学ぶことはできるのでしょう。UNIX環境で、マルチプロセスでのIPCに詳しかった先輩の知識も役に立つかもしれません。

簡単な方法があります。Javaです。Sunが主な開発を担って来た事もあり、SMP/Multi Thread環境で鍛え上げられています。Multi Thread programmingは基本ですし、Concurrent Utilityが、Java SE 5から入っています。マルチコア環境で活躍できることが容易に想像できます。
ただ、Logic関係であまりConcurrencyを要求されるようなケースは特にWeb Application platform上でシステムを構築するEnterprise領域ではまだまだ多いとは言えないのかもしれません。ただ、高負荷耐性、高スループットを求められるネットサービス系でlow levelからシステムを構築するケースでは、高いニーズがあるのではないでしょうか。様々なミドルウェアがMultiCore環境ではスケールしないことを考えると、これまでデフォルトで使っていたnetwork middlewareのstackも再検討が必要になるかもしれません。有名ミドルウェアについては、マルチスレッド実装が多くなってくると、javaの場合はNew IOの利用もキーワードですね。networkに限って言えば、Grizzlyなんかがその良い例です。
これ、エンジニアとしてのスキルアップの好機です。UNIXはセマフォ、共有メモリ、Socket、マルチプロセス等が使えるようになると昔は結構一人前として評価されました(最近は当たり前なのかどうかしりませんが・・・)。これからのプログラマは、MultiThread, Concurrent Programming, またそれらに強いMiddlewareと、最新のComputing Powerをきっちり使えるプログラマが評価されるのでしょうかね。
さて、Concurrent/Parallel computingは、programming、デバッグとチューニングが大変だということは容易に想像がつきます。Javaのライブラリや、NetBeansやDtrace、Solarisの価値が再認識されるとよいのですがね。

メモがメモでなくなってしまいました。オヤジの悪い癖です。あ、原体験からかもしれませんが、しかしConcurrent languageってロマンありますよね。(狭義のParallelは実はあんまり興味なかったりする。)
若造のころ、ハードの特性は考えずに、単なる受注処理にIPC使いまくりのMulti Processのプログラムを書いたのを思い出しました。(調子にのって、バッチまで書いた気がする。シーケンシャルよりリソース効率よく使えてたと勝手に思ってる。)今は、Concurrent Utilityがあって、lockをあまり気にせず、Threadでバリバリ動かせるので、根本的にその頃とは時代が違うのだろうと思いますが、シーケンシャルなロジックを並列化、並行化することはパズルというかゲームのようでとても楽しいものです。みなさんも是非挑戦してみてくださいませ。

その後、確認の意味で、SunのJava御大、山口さんと会話。Concurrent utilityの会話をしました。うーむ奥深いですね。ハードウェア同期プリミティブを使って、compare and setを行うところも重要だと。ああ、私はIPCのLock世代でした。Context switchを伴う、Lockのようなコストの高い方法でなく、高速な実装が今ではどこでも動くjavaでできるんですね。素晴らしいことです。
そう考えると、Java のConcurrent utilityって、Atomicなclass含め、Parallel Utilityなんですかね。最初の拘っていた定義が揺らぎます。javaの場合は、Concurrentっぽいものも沢山入っているので、両方ってところでしょうか。
multi nodeを考えると、parallelとconcurrent、もっと両面からの進化が必要かもしれませんね。
あらためて、javaってすごいですね、と思う。
(cache) 日々是新 Akihito Fujii's Weblog