並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 44件

新着順 人気順

concurrent-computingの検索結果1 - 40 件 / 44件

concurrent-computingに関するエントリは44件あります。 プログラミングprogramming開発 などが関連タグです。 人気エントリには 『CPUとGPUのマルチスレッディングの違いについて - arutema47's blog』などがあります。
  • CPUとGPUのマルチスレッディングの違いについて - arutema47's blog

    "Locality is efficiency, Efficiency is power, Power is performance, Performance is King", Bill Dally マルチスレッディングとは? CPUとGPUのマルチスレッディングの違いをブログにまとめていたけど例によって誰も興味なさそう— arutema47 (@arutema47) 2021年8月16日 つぶやいたら読みたい方が多そうだったので完成させました。 マルチスレッディングとはメモリ遅延を隠蔽しスループットを上げるハードウェアのテクニックです。 ただCPUとGPUで使われ方がかなり異なるため、その違いについて考えてみる記事です。 (SIMDについて並列プログラミングの観点から触れるべきでしたが、時間無いマルチスレッディングに注目するため初版では省きました。) 本記事について 本記事はCPUとG

      CPUとGPUのマルチスレッディングの違いについて - arutema47's blog
    • マルチスレッド・プログラミングの道具箱

      まえがき クラウド上の仮想サーバから手元のスマートフォンまで、いまや複数のCPUコアを搭載するマルチコアはどこにでもある環境になりました。ハードウェア側が並列(Parallel)・並行(Concurrent)処理に向けて急速に進化する一方で、ソフトウェア側つまりプログラミング言語の進化はさほど追い付いていません。並行処理記述の手軽さを求めた Go言語 や、マルチスレッド処理の安全性を重視する Rust言語 などが登場してはいるものの、「普通にプログラムを記述するだけで複数CPUコア環境で高速に走るプログラミング言語」は遠い夢物語のままです。 モダンなプログラミング言語や並列・並行処理ライブラリは、複雑で難解なマルチスレッド処理を直接記述しなくてすむよう、安全性・利便性の高い抽象化レイヤを提供します(例:Go言語のgoroutineとchannel、Rust言語の Rayonライブラリ)。し

        マルチスレッド・プログラミングの道具箱
      • Ajaxから始まった一つの時代の終わり

        最近の流れを見ていての感想文なので、ideaとして投稿します。筆者のバックグラウンドとしては、Remixの商業記事を書いたり、App Routerの商業記事を書いたりしている人です。 さて、筆者は2022年の秋から、社内システムではありますがRemixをプロダクション運用しています。また、Next.jsのApp Routerについても、パラダイムとしてはRemixにインスパイアされた部分が多い[1]おかげで、順調にキャッチアップできています。 RemixとApp Routerは、ルーティングとデータフェッチを高度に統合しており、Progressively Enhanced SPA(PESPA)と呼ばれることもあるそうです。PESPAについては、次の記事が話題になりましたね。 このPESPAであるRemixを実運用する中で、フレームワークの手触りが近年触ってきたものと大きく違っている点があっ

          Ajaxから始まった一つの時代の終わり
        • 徐々に高度になるリングバッファの話 - Software Transactional Memo

          リングバッファのイメージ図 1. リングバッファとは何か 機能的にはFirst In First Out (FIFO)とも呼ばれるキューの一種であるが、リング状にバッファを置いてそれの中でReadとWriteのインデックスがグルグルと回る構造をとる事によって容量に上限ができることと引き換えに高速な読み書き速度を得たものである。キューを単に実装するだけなら山ほど方法があって線形リストを使ってもいいしスタックを2つ使っても原理的には可能だ。その中でもリングバッファを用いた方法の利点はひとえに性能の高さでありメモリ確保などを行わないお陰でシステム系の様々な場所で使われている。 これの実装自体は情報系の大学生の演習レベルの難度であるが少し奥が深い。まずリングバッファのスタンダードなインタフェースと実装は以下のようなものである。 class RingBuffer { public: explicit

            徐々に高度になるリングバッファの話 - Software Transactional Memo
          • データ変更を伴うバッチ処理を書く時に考慮していること - shallowな暮らし

            こんにちは、id:shallow1729です。最近はインフラ寄りなお仕事をよくやっていますがこれまでにいくつかデータ移行やデータ基盤構築などのバッチ処理のお仕事をしてきました。以前にも一度そういった経験を元に記事を書いたのですが、MySQLやシステムに関する知識が以前よりも増えた今もう一度書き直したいなと思いました。 なので今回はバッチ処理を書く時のテクニック2022版という感じです。今の仕事の関係でMySQLやrailsを前提にしている話が多いですが、おそらく他のデータベースを使っている人にも役に立つ話が多いのではないかと思います。ただ、今回の記事は経験に基づくものが多く、あまりよくないアイデアもあるかもしれません。改善点や間違いなどあればご指摘ください。 冪等性を持つように 冪等性とは端的に言えばある操作を複数回実行しても一回しか実行しなかった時と同じ結果になる性質の事です。長時間かか

              データ変更を伴うバッチ処理を書く時に考慮していること - shallowな暮らし
            • PayPayの1秒あたり1000決済への道のり

              パフォーマンス・チューニングに関するブログの第1回目です PayPayは、日本でもっともよく知られているQR決済サービスとなりました。2018年10月5日のローンチ後、2018年12月より実施した100億円あげちゃうキャンペーンは、その後のプロダクトの急成長に合わせたシステムのスケール拡張という長い道のりのスタート地点でもありました。 ここ数ヶ月の新規ユーザーの増え方[1]を見るにつけても、PayPayが驚異的な成長を続けていることは間違いありません。スタートアップ企業はまるで竹のように成長するとはこのことではないでしょうか。(竹は24時間で最大約90cmも伸びるそうです) PayPayの成長速度は? ユーザー数の伸び 2018年10月に初めてユーザーが増え、キャンペーンや日々メディアで報道されることによるユーザー数の増加もあり、1年後には1500万人を突破しました。2020年5月現在、サ

                PayPayの1秒あたり1000決済への道のり
              • サーバーレスが気になる開発者に捧ぐ「べき等性」ことはじめ 第一回〜べき等性 (冪等性/idempotency) ってなんだ!? - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS

                そもそも、べき等性とは、どういうことを言うのでしょうか ? これは「ある操作を 1 回行っても複数回行っても結果が同じである」ことをいう概念です。 例えば、注文処理を考えます。画面インターフェースで、注文確定 / 送信ボタンを押すという操作で二度三度押してしまうユーザーがいます。これで同じ内容の注文が複数回登録されてしまったら問題です。こういったケースでは、画面側で連続して押せないような実装を追加したり (①)、サーバー側で同じ注文の処理であることを認識して適切に一つの処理と判断するようなこと (②) が必要です。 この例では、画面側の制御を入れたほうが簡単なように見えます。しかし、現実には画面とサーバーとの間のネットワークの問題や画面以外からの HTTP コールなどを考えると、このような重複リクエストが起こってしまうという可能性はゼロではありません。 このようなものへの対処として、サーバ

                  サーバーレスが気になる開発者に捧ぐ「べき等性」ことはじめ 第一回〜べき等性 (冪等性/idempotency) ってなんだ!? - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
                • マイクロソフト、マイクロサービス開発を容易にする「Dapr」をオープンソースで公開。サービス間呼び出し、ステート管理、サービス間メッセージングなど提供

                  マイクロソフトは、マイクロサービスアプリケーションの開発を容易にするためのフレームワーク「Dapr」をオープンソースとして公開しました。現在アルファ版となっており、多くの開発者の協力を求めています。 マイクロサービスアプリケーションは、「マイクロサービス」あるいは単に「サービス」と呼ばれる、それぞれがアプリケーションを構成するための機能を提供する多数のプログラムが疎結合によって連係することで実現されます。 それぞれのサービスはWebサーバのようにステートレスなものもあれば、データベースサーバのように状態をつねに保持するステートフルなものもあります。 また、それぞれ異なるプログラミング言語で開発されたサービスがお互いを呼び出し、メッセージをやりとりする必要があります。 Daprは、こうしたマイクロサービスアプリケーションの開発を容易にするため、プログラミング言語に依存せず、サービス間の呼び出

                    マイクロソフト、マイクロサービス開発を容易にする「Dapr」をオープンソースで公開。サービス間呼び出し、ステート管理、サービス間メッセージングなど提供
                  • 排他制御の基礎の基礎

                    はじめに システムに存在するリソースには同時にアクセスしてはいけないものが多々あります。身近な例を挙げると、Ubuntuのパッケージ管理システムのデータベースがあります。aptコマンドの動作によってこのデータベースは更新されるのですが、同時に2つ以上のaptが動作できたとすると、データベースが破壊されてシステムが危機的状況に陥ります。 このような問題を避けるために、あるリソースに同時に1つの処理しかアクセスできなくする排他制御というしくみがあります。排他制御はOSが提供する重要な機能の一つです。 排他制御が必要なケース 排他制御は直感的ではなく非常に理解が難しいのですが、ここでは比較的理解が簡単なファイルロックというしくみを使って説明します。説明には、あるファイルの中身を読みだして、その中に書いてある数字に1を加えて終了するincというという単純なプログラムを使います。

                      排他制御の基礎の基礎
                    • 書評:並行プログラミング入門 - Software Transactional Memo

                      TL;DR 並行処理を実装する人のこれからのスタンダードになる一冊。買い。 並行プログラミング入門 ―Rust、C、アセンブリによる実装からのアプローチ 作者:高野 祐輝 オライリージャパン Amazon 買ったら思いの外早く届いたのでパラパラと読み始めたら一気に読み終えてしまった。 総評 敢えて雑な喩え方をするなら The Art of Multiprocessor Programming (通称TAoMP本) の内容を薄めてRustやアセンブラや計算モデルを足したような本だった。 日本語の書籍としてはかなり珍しくWait-Free, Lock-Free, Obstruction-Freeの違いなどを適切に論じており、TTAS Lock, MCS Lock, TL2といった日本語では希少な情報が書かれているレアな本である。これらに付いて論じている日本語の本は知る限り (TAoMP本と昔僕

                        書評:並行プログラミング入門 - Software Transactional Memo
                      • データ収集の基本と「JapanTaxi」アプリにおける実践例

                        1. Mobility Technologies Co., Ltd. Data Engineering Study #2 データ収集の基本と 「JapanTaxi」アプリにおける実践例 株式会社 Mobility Technologies 渡部 徹太郎 2020/8/19 2. Mobility Technologies Co., Ltd. 自己紹介 2 ID :fetaro 名前:渡部 徹太郎 学生:東京工業大学でデータベースと情報検索の研究 (@日本データベース学会) 職歴: * 野村総合研究所(NRI) - オンライントレードシステム基盤 - オープンソース技術部隊 * リクルートテクノロジーズ - ビッグデータ分析基盤 * MobilityTechnologies - データエンジニア エディタ:emacs派→ InteliJ派 日本AWSユーザ会(JAWS) ビッグデータ支部長

                          データ収集の基本と「JapanTaxi」アプリにおける実践例
                        • AWSが落ちてもGCPに逃がすことで落ちないシステムを作る技術

                          こんにちは、エンジニアのtarr [https://github.com/tarr1124]です。 KARTE Blocksは既存のサイトにタグを一行入れるだけで、そのサイトを簡単に書き換えたり、ABテストなどで最適化したりできます。 これは、サイトを読み込むときにタグによってBlocks内で設定された内容を反映させているのですが、既存のサイトの挙動に手を加えている以上、一定のリスクが存在します

                            AWSが落ちてもGCPに逃がすことで落ちないシステムを作る技術
                          • 理解して拡げる分散システムの基礎知識

                            20200725の #JTF2020 セッションスライド。 (資料内で説明した資料へのリンク) ・昨年のJTF発表資料 https://speakerdeck.com/tzkoba/cloud-nativekai-fa-zhe-falsetamefalsedatabase-with-kuber…

                              理解して拡げる分散システムの基礎知識
                            • マイクロサービスアーキテクチャの経済と適応度 - Qiita

                              はじめに マイクロサービスアーキテクチャは、独立してデプロイ可能で疎結合サブシステム群によってサービス開発を行うというアーキテクチャパターンです。現在のソフトウェアサービス開発では欠かすことができない考え方です。 従来では一定のコストが掛かり、またパフォーマンス上の問題もあったため、必要に応じての分割には難しい側面も多かったのですが、様々なエコシステムの発達によってわずかな機会費用で実現できるようになってきました。もちろん分散システムとしての本質的な難しさやアーキテクチャの移行の本質的な難しさは解決したわけではありませんが、手軽にコンテナレベルで分割された様々なサービスを作成することのコストは急速に下がってきました。 これらが、うまくサブドメイン境界によって分割されることで、ある開発チームが知らなければならない情報が制限されるため、スピード感のある開発力を維持しながら開発組織のスケールでき

                                マイクロサービスアーキテクチャの経済と適応度 - Qiita
                              • 技術的負債になりかけていた機能をリアーキテクティングしたら、めちゃくちゃ改善した話 - カミナシ エンジニアブログ

                                ソフトウェアエンジニアの 鈴木 (@szk3) です。 先日、カミナシにおいて古くから存在する1つの機能をリアーキテクティングしました。 その結果、処理時間は4分の1以下、コストは90%程度削減 と大きな成果を出すことができました👏 本記事では、その機能が抱えていた課題に対しどのような改善のアプローチをして上記の結果に結びついたのか?について共有します。 Excel変換とは 今回、リアーキテクティングの対象となった機能は、カミナシに帳票として記録されたデータをExcel形式に変換して出力する機能です。 これを、”Excel変換” と呼んでいます。 Excel変換は、カミナシのサービスの中でも比較的古くから存在する機能です。 ここ数年での利用ユーザーの増加と共に、設計当初のシステムアーキテクチャが技術的な負債となっている状態でした。 Excel変換の課題 まず最初に、設計当初のアーキテクチ

                                  技術的負債になりかけていた機能をリアーキテクティングしたら、めちゃくちゃ改善した話 - カミナシ エンジニアブログ
                                • SQLite、複数クライアントからの同時書き込みを可能にする「BEGIN CONCURRENT」文を実装へ

                                  SQLite、複数クライアントからの同時書き込みを可能にする「BEGIN CONCURRENT」文を実装へ SQLiteの開発チームは、複数クライアントからの同時書き込みを可能にするBEGIN CONCURRENT文を実装していることを明らかにしました。 これまでSQLiteでは書き込みの同時実行はできず、つねに1つのクライアントだけが書き込み可能でした。 同時書き込み処理は、データベースのジャーナルモードが「wal」(Write-Ahead-log)もしくはwalを改良した「wal2」で、BEGIN CONCURRENT文を実行した場合に可能となります。 どのように同時書き込み処理が行われるのかについては、上記のWebページの説明を引用しましょう。 ロックが延期されることで同時書き込みが可能に まず、書き込み時のロックがCOMMITまで延期されることで同時書き込みが実現されると説明されて

                                    SQLite、複数クライアントからの同時書き込みを可能にする「BEGIN CONCURRENT」文を実装へ
                                  • Go でマルチスレッドプログラミングする際に最低限知っておくべきこと - Cybozu Inside Out | サイボウズエンジニアのブログ

                                    この記事は、CYBOZU SUMMER BLOG FES '24 (クラウド基盤 Stage) DAY 10 の記事です。 こんにちは。クラウド基盤本部の野島です。Go は goroutine やチャネルなどの仕組みが備わっており、簡単にマルチスレッドなプログラムを書くことができる言語だと言われています。しかし、マルチスレッドプログラミングには独特の罠があり、何も知らない人が雰囲気でコードを書くとわかりにくいバグを仕込んでしまうリスクが非常に高いです。 この記事では、マルチスレッドプログラミングに詳しくない人に向けて、そのような罠を避けるための方法を紹介します。この記事は Go の基本的な使い方を知っていることを前提としています。 這い寄るデータ競合の恐怖 まずは以下のようなプログラムを考えてみましょう。これは複雑な計算を行って結果を返すような HTTP サーバーのコードです。 // 複雑

                                      Go でマルチスレッドプログラミングする際に最低限知っておくべきこと - Cybozu Inside Out | サイボウズエンジニアのブログ
                                    • 無限ストレージ

                                      以下イベントの発表資料です https://kernelvm.connpass.com/event/209105/

                                        無限ストレージ
                                      • S3へのファイル転送を高速化する手順 - skymatix Developers Blog

                                        システムエンジニアの椎葉です。 ファイル数が多くなるとファイルの転送に時間がかかってしまいます。 ファイル転送の改善で処理時間やEC2のコストを削減することができます。 今回の例でも30%ほど転送時間&コストを削減することができているので是非参考にしてみてください。 設定項目 今回改善するために変更する設定は下記の2つです。 項目名 説明 max_concurrent_requests 同時に実行できるリクエストの最大数を制御。この設定により、バケットへの同時アクセスを制御することができる。デフォルト:10 max_queue_size タスクキュー内の最大タスク数を制御。タスクが多くなると速度も速くなるが、比例して多くのメモリが必要になる。デフォルト:1000 設定変更のコマンド 設定を変更する際は下記のコマンドを実行します。 aws configure set default.s3.m

                                          S3へのファイル転送を高速化する手順 - skymatix Developers Blog
                                        • Ruby 3.0 の Ractor を自慢したい - クックパッド開発者ブログ

                                          Ruby の開発をしている技術部の笹田です。娘が自転車に乗り始め、まだ不安なためずっとついていなければならず、少し追っかけまわしただけで息切れがヤバい感じになっています。運動しないと。 ここ数年、Ruby で並列処理を気軽に書くための仕組みである Ractor を Ruby 3.0 で導入するという仕事を、クックパッドでの主務として行ってきました(クックパッドから、これ、と言われていたわけではなく、Ruby を前進させるというミッションの上で行ってきました)。 Ractor は、もともと Guild という名前で開発をはじめ、2020年の春頃、Ractor という名前に変更することにしました。いくつかの機会で発表しています。下記は、RubyKaigi での発表の記録です。 A proposal of new concurrency model for Ruby 3 - RubyKaigi

                                            Ruby 3.0 の Ractor を自慢したい - クックパッド開発者ブログ
                                          • テスト駆動開発から証明駆動開発へ #JTF2019 / July Tech Festa 2019

                                            July Tech Festa 2019 で使用したスライドです。 近年、テストを書く文化は広く普及しており、開発フローにおいて自動テストを組み込むことはもはや常識となりました。しかしよく考えてみると、有限個のテストケースが保証しているのは、所詮「特定の有限個の入力に対する出力」にしか過ぎません。では「あり得る全ての入力」に対してプログラムの性質を保証することは果たして可能でしょうか? この問いに対する答えのひとつが「定理証明」と呼ばれる手法です。定理証明では、数学的な「証明」をプログラム上でエンコードすることにより、真に「全ての入力」を扱うことができます。本セッションではこの定理証明を取り上げ、従来のテストとの考え方の違いや具体的な適用方法について、サンプルを交えつつ解説します。 イベント概要:https://2019.techfesta.jp/speakers#A10

                                              テスト駆動開発から証明駆動開発へ #JTF2019 / July Tech Festa 2019
                                            • 詳解 Rustアトミック操作とロック

                                              Rustでは並行性を持つプログラムを安全に記述することができます。本書はその並行プログラムの基盤となる、アトミック操作とロックの仕組みについての理解を深め、より安全で効率の良いコードを書くための指南書です。難解だと思われがちなアトミック処理、ロック、メモリオーダリングのような低レイヤを詳細に理解し、アーキテクチャやOSによる相違を知ることで、安全で高性能な並行処理プログラムを実装できるようになります。Rustユーザはもちろん非ユーザにとっても低レイヤプログラミングの優れたリソースとなる一冊です。 序文 まえがき 1章 Rust並行性の基本 1.1 Rustのスレッド 1.2 スコープ付きスレッド 1.3 所有権の共有と参照カウント 1.3.1 static 1.3.2 リーク 1.3.3 参照カウント 1.4 借用とデータ競合 1.5 内部可変性 1.5.1 Cell 1.5.2 RefC

                                                詳解 Rustアトミック操作とロック
                                              • ruby/ractor.ja.md at ractor · ko1/ruby

                                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                  ruby/ractor.ja.md at ractor · ko1/ruby
                                                • 新機能 – Step Functions が動的並列処理をサポート | Amazon Web Services

                                                  Amazon Web Services ブログ 新機能 – Step Functions が動的並列処理をサポート マイクロサービスを使用すると、アプリケーションのスケーリングが容易になり、開発が高速になりますが、分散アプリケーションのコンポーネントを調整するのは大変な作業になりかねません。 AWS Step Functions は、各ステップが前のステップの出力を入力として受け取るステップで構成されるワークフローを設計および実行できるようにすることで、タスクの調整を容易にする完全マネージド型サービスです。たとえば、Novartis Institute for Biomedical Research は、Step Functions を使用して、クラスターの専門家に頼らずに科学者が画像分析を実行できるようにしています。 Step Functions は最近、コールバックパターンなどの非常に

                                                    新機能 – Step Functions が動的並列処理をサポート | Amazon Web Services
                                                  • Ruby methods are colorless

                                                    👋🏼 This is part of series on concurrency, parallelism and asynchronous programming in Ruby. It’s a deep dive, so it’s divided into 10 main parts: Your Ruby programs are always multi-threaded: Part 1 Your Ruby programs are always multi-threaded: Part 2 Consistent, request-local state Ruby methods are colorless Concurrent, colorless Ruby: Part 1, Threads Concurrent, colorless Ruby: Part 2, Fiber a

                                                      Ruby methods are colorless
                                                    • Announcing Distributed Application Runtime (Dapr), an open source project to make it easier for every developer to build microservice applications - Microsoft Open Source Blog

                                                      Announcing Distributed Application Runtime (Dapr), an open source project to make it easier for every developer to build microservice applications Toggle share menu for: Announcing Distributed Application Runtime (Dapr), an open source project to make it easier for every developer to build microservice applications Share Share Announcing Distributed Application Runtime (Dapr), an open source proje

                                                        Announcing Distributed Application Runtime (Dapr), an open source project to make it easier for every developer to build microservice applications - Microsoft Open Source Blog
                                                      • AWS Lambda Supports Parallelization Factor for Kinesis and DynamoDB Event Sources

                                                        AWS Lambda now supports Parallelization Factor, a feature that allows you to process one shard of a Kinesis or DynamoDB data stream with more than one Lambda invocation simultaneously. This new feature allows you to build more agile stream processing applications on volatile data traffic. By default, Lambda invokes a function with one batch of data records from one shard at a time. For a single ev

                                                          AWS Lambda Supports Parallelization Factor for Kinesis and DynamoDB Event Sources
                                                        • Amazon.co.jp: 並行プログラミング入門 ―Rust、C、アセンブリによる実装からのアプローチ: 高野祐輝: 本

                                                            Amazon.co.jp: 並行プログラミング入門 ―Rust、C、アセンブリによる実装からのアプローチ: 高野祐輝: 本
                                                          • PythonのDaskをしっかり調べてみた(大きなデータセットを快適に扱う) - Qiita

                                                            PandasやNumPyの並列処理だったり、メモリに乗り切らないデータを扱う際などによく見かけるDaskライブラリ。 ただ、細かいところまで触れている日本語の資料があまり無かったので、公式ドキュメントなどをしっかり読んでみてまとめてみました。 ※Daskのドキュメント既に読まれている方はご存知かと思いますが、ドキュメントがかなりのボリュームなのと、細かい所まで把握するのを目的とするため、本記事も長めです。仕事などの都合でさくっと使われたい方には向いておりませんので、そういった場合は別の記事をご参照ください。 どんなライブラリなのか Pythonで並列処理・分散処理などを簡単に扱ってくれる。 Pythonでよく使われるライブラリとかなり近いインターフェイスを提供している(NumPy、Pandas、Scikit-Learnを中心に、他にもTensorFlow・XGBoostなども)。 必要な場

                                                              PythonのDaskをしっかり調べてみた(大きなデータセットを快適に扱う) - Qiita
                                                            • Ractorで並列処理を試みる|グロービス・デジタル・プラットフォーム

                                                              はじめまして、グロービスのサーバーサイドエンジニアをしている大澤(@qwyngg)と申します。 Ruby3、そしてRactorがでましたね! さっそくrbenv global 3.0.0して試していこうと思います。 Ractorとは?並行性のあるコードを書くための新機能です。RubyKaigiでGuildという名前を聞いたことがある方もいらっしゃると思いますが、そのGuildが名称を変えてリリースされました。 名前の通りActorモデルを参考にした機能だそうです。 Ractor.newにブロックを渡すことで並列処理を実行させることができます。 Ractor.new { 5.times do puts :hoge end } Ractor.new { 5.times do puts :fuga end } puts :sleep sleep(5) # Ractorの処理を待ちたいので適当にs

                                                                Ractorで並列処理を試みる|グロービス・デジタル・プラットフォーム
                                                              • GitHub - dapr/dapr: Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.

                                                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                  GitHub - dapr/dapr: Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.
                                                                • Go - graceful shutdown of worker goroutines | Callista

                                                                  Blogg Här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad, följ oss på Twitter 05 October 2019 // Erik Lupander In this blog post we’ll take a look at gracefully shutting down a Go program having worker goroutines performing tasks that must be completed before allowing the program to shut down. Introduction In a recent project we had a us

                                                                  • EC2のプレイスメントグループを活用するとネットワークパフォーマンスを向上したりハードウェア障害を軽減できます | DevelopersIO

                                                                    Amazon EC2にはプレイスメントグループと言う概念があり、ネットワークパフォーマンスの向上や物理サーバ障害時の影響範囲を限定させるために、インスタンスをグループ化することができます。 今回は、3種類あるプレイスメントグループ戦略について、説明します。 3種類の戦略 プレイスメントグループにはクラスター・分散・パーティションの3種類の戦略があります。 クラスター(cluster) ※ 図は公式ドキュメントから HPC のようなワークロード向け インスタンス群を高バイセクションバンド幅セグメントに配置 ノード間通信で低レイテンシー、高スループットなネットワークパフォーマンスを実現 利用可能なインスタンスタイプに制限あり(対応インスタンス一覧)。例えば、T系インスタンスは利用不可。 AWS ParallelClusterを利用してHPCクラスターを構築している場合、設定ファイルで次の様に指

                                                                      EC2のプレイスメントグループを活用するとネットワークパフォーマンスを向上したりハードウェア障害を軽減できます | DevelopersIO
                                                                    • CSE 138: Distributed Systems

                                                                      From the beginning of this year, I started to take lecture courses of undergrad distributed systems course at UC Santa Cruz (CSE 138) by Lindsey Kuper. It consists of 23 lectures (you can see the schedule of topics from here) and recently I’ve finished all of them. I’m not a student at UCSC but due to the COVID-19 situation, all these lectures were delivered online and are available on YouTube. So

                                                                      • 安全性-活性分解定理とその関連研究 - チェシャ猫の消滅定理

                                                                        こんにちは、チェシャ猫です。先日行われた第 7 回 Web System Architecture 研究会で形式手法について発表してきました。 普段、形式手法について登壇する際は具体例な検証例を出すことが多いですが、今回は理論側に寄せたサーベイになっています。 はじめに 本セッションでは、安全性-活性分解 (safety-liveness decomposition) と呼ばれる一連の結果について解説する。安全性-活性分解は、システムの仕様が与えられた時、それを安全性 (safety) および活性 (liveness) と呼ばれる、よりシンプルな特徴付けを持つクラスに分解して扱うための方法論である。さらにセッションの後半では、安全性と活性の組み合わせ以外にも提案されている派生的な特徴付けについても述べる。 Web アプリケーションと形式手法 システムやプログラムの性質を何らかの数学的な対象

                                                                          安全性-活性分解定理とその関連研究 - チェシャ猫の消滅定理
                                                                        • Gevent チュートリアル

                                                                          はじめに このチュートリアルはある程度の Python の知識を前提としていますが、 それ以上の知識は前提としていません。 並列プログラミングの知識も必要ありません。 このチュートリアルの目的は、 gevent を扱う道具を提供し、 読者がすでに持っている一般的な並列プログラミングの問題を手なづけて 非同期プログラムを書き始められるように手助けすることです。 寄稿者 時系列順の寄稿者: Stephen Diehl Jérémy Bethmont sww Bruno Bigras David Ripton Travis Cline Boris Feld youngsterxyf Eddie Hebert Alexis Metaireau Daniel Velkov そして Denis Bilenko に、 gevent の開発とこのチュートリアルを作る上での 指導について感謝します。 この共

                                                                          • Apache Kafka for Microservices

                                                                            Apache Kafka is one of the most useful OSS for the message hub in micro services and can easily connect various data sources. This feature can be appli…

                                                                              Apache Kafka for Microservices
                                                                            • Advanced Go Concurrency – Encore Blog

                                                                              Advanced Go ConcurrencyLearn how to use Go's singleflight and errgroup packages, and other important design patterns for concurrency, with real-world examples. If you've used Go for a while you're probably aware of some of the basic Go concurrency primitives: The go keyword for spawning goroutinesChannels, for communicating between goroutinesThe context package for propagating cancellationThe sync

                                                                                Advanced Go Concurrency – Encore Blog
                                                                              • GitHub - hamler-lang/hamler: Haskell-style functional programming language running on Erlang VM.

                                                                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                  GitHub - hamler-lang/hamler: Haskell-style functional programming language running on Erlang VM.
                                                                                • Daprが提供する主要な機能について理解してみる - Daprの基本とService-to-service invocationについて

                                                                                  Daprが提供する主要な機能について理解してみる - Daprの基本とService-to-service invocationについて Daprとは? 公式サイトリポジトリMicrosoftがオープンソースとして公開しているマイクロサービス/分散システム向けのランタイムです。 現在(2019/12)はまだアルファ段階です。 Note: Dapr is currently under community development in alpha phase. Dapr is not expected to be used for production workloads until its 1.0 stable release. 読みはyoutubeでMicrosoftの人が話してるのを聞くと「ダッパー」と聞こえます こちらの記事によると、もしくは「ダパァ」らしいです。 名前の由来はAzu

                                                                                  新着記事