タグ

ブックマーク / www.iij.ad.jp (3)

  • マルチコアでスケールするようになったHaskell | IIJの技術 | インターネットイニシアティブ(IIJ)

    (※)このページで紹介している事項は記事初出時点の情報に基づいたものです。ページはアーカイブとして掲載しています。 ツイート 2015年2月12日 Glasgow Haskell Compiler(GHC)は、関数型言語Haskellの主要コンパイラです。GHCは(並列性に加えて)並行性を主要な目的として長年開発されてきました。そのため、GHCには、 軽量スレッド(グリーンスレッド) マルチコア用の軽量スレッド・スケジューラ マルチコア上での効率的なメモリアロケータ マルチコア用のガベージコレクタ など、マルチコアで簡潔に並行性を実現するための部品が揃っています。そこで、Haskellで Web サーバなどの並行プログラムを書き、GHC でコンパイルすれば、マルチコア環境でスケールするのを期待したくなります。 残念ながら GHC 7.6.3 までは、入出力を司るIOマネージャの実装にボト

    マルチコアでスケールするようになったHaskell | IIJの技術 | インターネットイニシアティブ(IIJ)
  • 注目のサーバサイドJavaScript実行環境「Node.js」 | IIJの技術 | インターネットイニシアティブ(IIJ)

    (※)このページで紹介している事項は記事初出時点の情報に基づいたものです。ページはアーカイブとして掲載しています。 ツイート 2012年7月31日 今、ソフトウェア開発者の中で注目されている「Node.js」。記事の前半は、Node.jsが誕生した背景とこれまでの歩みといった概要について紹介します。後半では、Node.jsのアーキテクチャの概要や今後の課題や展望など技術的な内容について説明します。なお、Node.jsの正式名称はNodeです。他と区別したい時にNode.jsと呼ぶことになっていますが、ここでは初めてNode.jsを知る方にもわかりやすいよう記載名をNode.jsで統一します。 Node.jsが生まれるまで 1995年に誕生したJavaScriptは、ブラウザ上で動作するスクリプト言語として開発されました。当初はJavaScriptの実行速度も遅く、セキュリティの問題も数

    注目のサーバサイドJavaScript実行環境「Node.js」 | IIJの技術 | インターネットイニシアティブ(IIJ)
  • 高速WebサーバMighttpdのアーキテクチャ | IIJの技術 | インターネットイニシアティブ(IIJ)

    (※)このページで紹介している事項は記事初出時点の情報に基づいたものです。ページはアーカイブとして掲載しています。 ツイート 2012年5月29日 IIJ-II技術研究所では、2009年の秋からMighttpd(mightyと読む)というWebサーバの開発を始め、オープンソースとして公開しています。この実装を通じて、マルチコアの性能を引き出しつつ、コードの簡潔性を保てるアーキテクチャにたどり着きました。ここでは、各アーキテクチャについて順を追って説明します。 ネイティブ・スレッド 伝統的なサーバは、スレッド・プログラミングという手法を用いています。このアーキテクチャでは、1つのコネクションを1つのプロセスかネイティブ・スレッドが処理します。 このアーキテクチャは、プロセスやネイティブ・スレッドを生成する方法で細分化できます。「プール」方式では、あらかじめ複数を起動しておきます。例としては

    高速WebサーバMighttpdのアーキテクチャ | IIJの技術 | インターネットイニシアティブ(IIJ)
  • 1