タグ

cpuに関するtoocheapjpのブックマーク (3)

  • ソフトウェア高速化の鍵は「並列化」:いま注目される並列化技術を知る | OSDN Magazine

    従来は高級サーバーでしか採用されていなかったマルチCPU/マルチコアが、一般的なPCにも普及しつつある。このようなマルチCPU/マルチコア環境において、高速に動作するアプリケーションを開発するために注目されているのが「並列化」技術である。記事では、この並列計算の基的な考え方やそのメリット、利用できるライブラリなどについて紹介する。 ソフトウェアをより高速に動作せたい、というのはすべてのソフトウェア開発者にとって共通の悩みだろう。ユーザーにとって、高速なソフトウェアは作業効率が向上するだけでなくコスト削減にもつながる。そして、ソフトウェアを高速に動作させるための技術として現在注目を浴びているのが「並列化」である。 並列処理という概念自体は、さほど新しいものではない。スーパーコンピュータを用いたHPC(High-Performance Computing)の分野では、従来から高速化のために

    ソフトウェア高速化の鍵は「並列化」:いま注目される並列化技術を知る | OSDN Magazine
  • C言語: 実行時間測定の方法

    C言語において実行時間を測定する為の方法はいくつかある。gettimeofday, clock, getrusage, timesを利用する方法である。ここではこれらの方法について検証してみる。これは2005/12/30時点での情報であり、古い亊が考えられるので注意して頂きたい。さらに、内容のほとんどはmanを移しただけなので、正確な情報を得るためにそれぞれの関数のmanを見ることを強く推奨する。 System: Linux 2.6.12 glibc: glibc 2.3.5-1ubuntu12 gettimeofdayを使用する方法 通常はこの関数を使用するのをお勧めする。 gettimeofdayはSVr4, BSD 4.3準拠である。返り値の型はsys/time.hに定義されるstruct timevalで有る。

  • 【コラム】コンピュータアーキテクチャの話 (144) メモリの管理機構 | エンタープライズ | マイコミジャーナル

    メモリ管理 初期のコンピュータは1つのプログラムを実行するだけであったが、性能が向上するにつれて、複数の人のプログラムを短い時間単位で切り替えて、見かけ上、同時並行的に実行するTime Sharing System(TSS)という使用法が出てきた。このような使い方をする場合、複数のユーザのプログラムをメモリ上において実行するのであるが、ここで問題が出てくる。 まず、それぞれのユーザは、論理的には、自分がコンピュータを占有しているのであるから、プログラムは0番地から順にメモリを使うように作られている。そうすると全員のプログラムが重なってしまい、複数のユーザのプログラムをメモリ上に置いて短時間に切り替えて実行することが出来ない。また、これを解決したとしても、ユーザAのプログラムが暴走して、ユーザBやCのプログラムの格納されているメモリ領域を書き換えてしまっては困る。 このような問題を解決する手

  • 1