問題タブ [distributed-computing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - Entity Framework で MSDTC を使用したプロバイダー エラー
(Entity Framework を使用して) db に保存し、1 回の保存でドキュメントを SharePoint に保存するアプリがあります。TransactionScope で MSDTC を使用しようとしています。
私の EF 挿入ロジックの一部には、外部キーのリストをデータ層に渡すことが含まれます。レイヤーは、データベースから「外部キー」オブジェクトを取得し、それをプライマリ オブジェクトに追加します。奇妙なことに、これは最初の外部キーの項目では正しく機能しますが、2 番目の項目では次のメッセージで失敗します。
System.Data.EntityException: 基になるプロバイダーが Open で失敗しました。---> System.Transactions.TransactionManagerCommunicationException: 分散トランザクション マネージャー (MSDTC) のネットワーク アクセスが無効になっています。コンポーネント サービス管理ツールを使用して、MSDTC のセキュリティ構成でネットワーク アクセスに対して DTC を有効にしてください。
MSDTC は有効で、最初のパス スルーでは機能しますが、2 番目のパス スルーでは機能しません。複数の選択呼び出しを行っているときに、コンテキストが何らかの形で混乱していると思いますか?
ここに私の論理があります:
おそらく、データベースからオブジェクトを取得するべきではありませんか? EF でリレーションシップを参照する簡単な方法がありませんか?
php - マスターのために働く奴隷 - ジョブの配布
私が取り組んでいる新しいプロジェクトでは、プライマリ サーバー (マスター) と複数のワークステーション (スレーブ) を備えた集中型コンピューティング環境をセットアップする必要があります。
マスターは、さまざまな間隔と有効期限を持ついくつかのタイプのジョブオーダーを受け取ります。例:
スレーブは、API インターフェイスを介して処理する新しいジョブを要求し、完了すると、SQLite に保存されている関連データをサーバーに送信して、新しいジョブを要求します。
スレーブの部分には何も難しいことはありませんが、マスターサーバーで小さな問題に直面しています:ジョブをスレーブに提供するための最良のオプションは何ですか? 私は次のオプションを考えました:
- ジョブが実行される時間を事前に計算してデータベースに追加します。
- ある種のロジックを使用して各ジョブを動的に処理しますか (MOD オペレーターはここで可能な解決策ですか)?
- ランダムにジョブを提供します。
この最後のオプションは実際にはオプションではないと言うのは良いことかもしれません。なぜなら、私は操作の数 (有効期限/間隔) で請求しているので、クライアントは他の人にお金を払ってもあまり満足しないと思うからです。 .
どうすればいいのか、皆さんの考えをお聞きしたいです。
cluster-computing - コンピュータークラスターは、一般的な日常のアプリケーションに使用できますか?
コンピュータクラスターをビデオゲームなどの日常のアプリケーションに使用する方法を知っている人はいますか?
コンピュータークラスター用に特別に設計されていないアプリケーションをクラスター上で実行できるコンピュータークラスターを構築したいのですが、それでもパフォーマンスが向上します。用途の1つはビデオゲームですが、仮想化されたマシンの大規模なネットワークを実行するために、増加した計算能力を利用したいと思います。
algorithm - オープンソースのゴシップベースのメンバーシッププロトコル?
ゴシップベースのメンバーシップ プロトコルを実装する分散アプリケーションにプラグインできるライブラリを探しています。
このようなライブラリを使用すると、メンバーシップ リストを送受信したり、受信したメンバーシップ リストをマージしたりできます。ライブラリがパフォーマンス O(logn) パフォーマンスを保証するプロトコルを実装していれば、さらに良いでしょう。
このようなオープンソースのライブラリを知っている人はいますか? 前述の要件をすべて満たす必要はありません。部分的に実装されたものでも役に立ちます。
debugging - 意図的に遅いMATLAB関数?
私はMATLAB用の本当に本当に遅いプログラムを書きたいと思っています。私は、O(2 ^ n)以下のように話している。それは終了する必要があり、決定論的に遅くなければならないので、「rand()= 123,123の場合、終了します!」これはおかしなことに聞こえますが、実際には分散システムのテスト用です。.mファイルを作成し、(MCCを使用して)コンパイルしてから、分散システムで実行してデバッグ操作を実行する必要があります。
プログラムは常に作業を行っている必要があるためsleep()
、有効なオプションではありません。
ランダムな大きな行列を作成してその逆行列を見つけようとしましたが、これはあまりにも早く完了しました。何か案は?
shared-memory - 共有メモリと分散メモリ、およびマルチスレッドとマルチプロセス
並列プログラミングを独学で学んでいます。分散メモリは常にマルチプロセスで、マルチスレッドは常に共有メモリなのだろうか? マルチプロセスが分散メモリと共有メモリの両方に使用できる場合は? よろしくお願いします!
.net - Distributed Computing Framework (.NET) - 特に CPU を集中的に使用する操作用
私は現在、分散アプリケーションを開発するために利用可能なオプション (オープン ソースと商用の両方) を調査しています。
「分散システムは、コンピューター ネットワークを介して通信する複数の自律型コンピューターで構成されています。」ウィキペディア
このアプリケーションは、(データ集約型ではなく) 非常にCPU 集約型の操作を分散することに重点を置いているため、MapReduce ソリューションはその条件に合わないと確信しています。
推奨できるフレームワーク (+ 経験の簡単な要約または他のフレームワークとの比較) をいただければ幸いです。
c# - 分散環境のマスター/スレーブ パターン
現在、15 分ごとに実行されるバッチ駆動のプロセスがあり、実行するたびにこのサイクルが数回繰り返されます。
- sproc を呼び出し、DB からデータを取得します
- データを処理する
- 結果をDBに保存します
データは多数のフィールドによって分離されており、データの各グループは処理中に異なる動作を必要とするため (フロントエンドから構成可能)、すべてのデータを一度にロードすることはできません。ただし、最近のビジネスの変化により、一部のグループのデータ量が急激に急増したため (したがって、必要な処理時間も長くなりました)、現在ではグループの 1 つがオーバーランすると、他のすべてのグループが遅延します。
私たちの計画は、このプロセスを複数のマシンで並列化して、次のようにすることです。
- 中央コントローラー (マスター) と複数のワークステーション (スレーブ) があります。
- マスターは実行のスケジューリングを担当します (フロントエンドから構成可能)
- マスター (または別のコンポーネント) は、DB との間でデータのロード/保存を担当します (複数のスレーブ間のデッドロック/競合を回避するため)
- スレーブは作業項目を受け取り、それらを処理し、結果をマスターに返します
- 通常、すべての作業項目を受け取るプライマリ スレーブ (私たちの環境のメイン プロダクション サーバー) があります。
- セカンダリ スレーブは、プライマリ スレーブがより長い処理時間を必要とするグループで作業している場合にのみ作業を受け取ります (マスターは、返されたデータのサイズに基づいてこれを識別できます。または、構成に任せることもできます)。
- 処理中にスレーブが例外をスローした場合、アラート メールがサポート チームに送信され、次のスケジュール サイクルで同じ作業項目が取り上げられます。
- タイムアウトをどうするかまだわからない
分散環境のマスター/スレーブ パターンについて調査しましたが、これまでのところ多くの参考資料が見つかりませんでした。そのようなパターンの適切な実装を知っている人はいますか? そのようなアーキテクチャの潜在的な落とし穴についてのポインタも大歓迎です!
ありがとう、
c# - CORBA または ICE を使用したコンピューター サイエンス プロジェクトのアイデア
CORBA または ICE を使用した分散コンピューティングで学期プロジェクトを実行する必要があります。これは 1 人のプロジェクトであり、数か月の期間があります。
プログラミング言語については、C++ のような他の言語である可能性があるため、C# に焦点を当てたいと思います。
100 万番目の素数ジェネレーターは書きたくありません。まだ考えていなかった、もっと興味深いことがあるかもしれません。