タグ

concurrent-computingとsoftware-engineeringに関するnabinnoのブックマーク (12)

  • 命令パイプライン - Wikipedia

    RISCマシンの基的な5段のパイプライン(IF = 命令フェッチ、ID = 命令デコード、EX = 実行、MEM = メモリアクセス、WB = レジスタ・ライトバック)。縦軸は逐次的な命令列、横軸は時間。緑の列は、最初の命令がWB段にあり、最後の命令がフェッチされている時点を表している。 命令パイプライン(めいれいパイプライン、英: Instruction pipeline)は、コンピュータなどのデジタル電子機器で命令スループット(単位時間当たりに実行できる命令数)を向上させる設計技法の1つで、命令レベルの並列性を高める1技法。 命令パイプラインのあるプロセッサは、命令の処理を独立して実行できる工程(ステージ)に分割する。各工程は、前の工程の出力を自身の入力とし、自身の出力を次の工程の入力とするように相互接続されている。このような構成で各工程を並列化し、全体としての処理時間を大幅に削減す

    命令パイプライン - Wikipedia
  • LeetCode - The World's Leading Online Programming Learning Platform

    Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

  • アクターモデル - Wikipedia

    アクターモデル(英: actor model)は、並行計算の数学的モデルの一種[1]。1973年、カール・ヒューイット、Peter Bishop、Richard Steiger が発表した。並行性の理論的理解のフレームワークとして使われるほか、並行システムの実装の理論的基礎としても利用される。 アクターモデルはそれ以前の計算モデルとは異なり物理法則を発想の基としている。他にも、LISP言語、Simula言語、ケーパビリティ・システム、パケット通信、初期のSmalltalkなどの影響を受けている。 アクターモデルは、近い将来に「数百・数千のマイクロプロセッサから構成され、個々にローカルメモリを持ち、高性能通信ネットワークで通信を行う並列コンピュータ」が登場するとの予測に基づいて開発されされた[2]。その後、Webサービスやメニイコアアーキテクチャを活用した超並行性を想定して研究された。 ヒ

  • Actor model - Wikipedia

    5.3 Actor creation plus addresses in messages means variable topology

  • MQTT - Wikipedia

    MQTT(旧称:MQ Telemetry Transport、Message Queuing Telemetry Transport)は、メッセージ指向ミドルウェアのアプリケーション層で使用される、TCP/IPによるPub/Sub型データ配信モデルの軽量なデータ配信プロトコルである。 MQTTのMQは、歴史的にはMQSeriesから来ているが、メッセージキューの機能は持たない[4]。 非力なデバイスやネットワークが不安定な場所でも動作しやすいように、メッセージ通信電文が軽量に設計されていることが特徴である。 Pub/Sub型メッセージング·パターンには、サーバとしてメッセージブローカー(英語版)が必要である。 サーバは、メッセージのトピックに基づいて、それを必要としているクライアントにメッセージを配布する。 仕様はロイヤリティフリーで公開されていて、現在の仕様は5となっている[5]。 19

  • プログラミングの世界観を変える衝撃!Paradigms of Computer Programmingで震えるほどの知的感動を体験した

    MOOCのedXでParadigms of Computer Programmingという講座を受けた。 LouvainX: Louv1.01x: Paradigms of Computer Programming | edX 感動というものを頭に走る電撃と定義するならば、 このCourseは自分にとって、まちがいなく最高の感動だった。 プログラム言語のパラダイムやコンセプトが紹介される。 5つのパラダイムが紹介される。 Functional Programming(関数型プログラミング) Object-Oriented Programming(オブジェクト指向プログラミング) Deterministic Dataflow Programming(決定性データフロープログラミング) Multi-Agent Dataflow Programming(マルチエージェントデータフロープログラミン

    プログラミングの世界観を変える衝撃!Paradigms of Computer Programmingで震えるほどの知的感動を体験した
  • 透過性 (情報工学) - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "透過性" 情報工学 – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2017年9月) 以下はヒトとコンピュータとのインタラクションにおける透過性(とうかせい、transparency)の説明である。プログラミングにおける透過性は参照透過性を参照。 ヒューマンマシンインターフェースにおいてユーザーが技術的詳細に悩まずに済む使い易さの側面であり、例えば、プログラムがディスプレイの解像度を自動認識する方がユーザーにいちいち質問するものよりも「透過的」であると言える。 ネットワークにおいては、同一のユーザーインターフェイスやアプリケーションイン

  • 不可分操作 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "不可分操作" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2023年1月) 不可分操作(ふかぶんそうさ)あるいはアトミック操作 (英: atomic operation) とは、情報工学においていくつかの操作を組み合わせたもので、システムの他の部分から見てそれらがひとつの操作に見えるものをいう。 不可分操作は、以下の2つの条件を満たさなければならない。 全操作が完了するまで、他のプロセスはその途中の状態を観測できない。 一部操作が失敗したら組合せ全体が失敗し、システムの状態は不可分操作を行う前の状態に戻る。 システムの他の部分から見

  • 並行性制御 - Wikipedia

    情報技術および計算機科学における並行性制御(へいこうせいせいぎょ、英: Concurrency Control)または同時実行制御(どうじじっこうせいぎょ)とは、特にプログラミングとOSとマルチプロセッシングとデータベースにおいて、並行処理の結果が可能な限り素早くかつ正しく得られることを保証することである。 コンピュータシステムは、ソフトウェアもハードウェアも、モジュールまたはコンポーネントで構成される。各コンポーネントは何らかの一貫性規則に従って正しく動作するよう設計されている。コンポーネント間でメッセージをやり取りするか(記憶装置内で)データを共有して並行動作する際、あるコンポーネント間の一貫性が他のコンポーネントによって妨害されることがある。並行性制御の一般的な領域は、同時並行的に相互作用しながら動作するコンポーネント間の一貫性を保つための規則、技法、設計方法論、理論を提供し、結果と

  • コルーチン - Wikipedia

    コルーチン(英: co-routine)とはプログラミングの構造の一種。サブルーチンがエントリーからリターンまでを一つの処理単位とするのに対し、コルーチンはいったん処理を中断した後、続きから処理を再開できる。接頭辞 co は協調を意味するが、複数のコルーチンが中断・継続により協調動作を行うことによる。 サブルーチンと異なり、状態管理を意識せずに行えるため、協調的処理、イテレータ、無限リスト、パイプなど、継続状況を持つプログラムが容易に記述できる。 コルーチンはサブルーチンを一般化したものと考えられる。コルーチンをサポートする言語には Modula-2、Simula、Icon、Lua、C#、Limbo、Swift などがある。マルチスレッドで理論的には同じことができるため、現在はそちらが使われるケースが多い。これはマルチスレッドであれば直接OSやCPUスレッドの支援を受けられることや、エント

  • 可用性 - Wikipedia

    可用性(かようせい、英: availability; アベイラビリティ)は、システムが継続して稼働できる度合いや能力のこと。 可用性に信頼性・保守性を含めたものをRAS、さらに保全性・安全性を含めたものをRASISと呼ぶことがある。 可用性は、英語の availability に対する訳語である。利用者から見て「使用できる」度合いを示す。主要な規格における定義は次のようになっている。 JIS X 0014:1999「情報処理用語―信頼性、保守性及び可用性」 必要となる外部資源が与えられたときに、ある時点において、又はある一定の期間、機能単位が決められた条件のもとで要求された機能を果たせる状態にある能力。 JIS X 5004:1991「開放型システム間相互接続の基参照モデル―安全保護体系」 認可されたエンティティが要求したときに、アクセス及び使用が可能である特性 JIS Q 20000-

  • 遅延評価 - Wikipedia

    評価しなければならない値が存在するとき、実際の計算を値が必要になるまで行わないことをいう。評価法が指示されているが実際の計算が行われていない中間状態の時それをプロミス(英: promise)や、計算の実体をさしてサンク(英: thunk)といい、プロミスを強制(英: force)することで値が計算される。一旦計算された値はキャッシュをすることが可能であり、遅延プロミスは最大で一度しか計算されないようにすることができる。ただし、Haskell の実装によっては、何度でも同じ計算を行う。 遅延評価を行う利点は計算量の最適化である。 ある関数を呼び出すとき、その関数が引数の全てを利用するとは限らない。条件次第で捨ててしまうような値を事前に準備することは非効率的である。このような場合遅延評価を行うと必要なときだけ値が計算されるので計算量を低減できる。 また同じ評価を複数回利用する可能性があるとき、

  • 1