問題タブ [preemptive]

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.

0 投票する
1 に答える
2634 参照

algorithm - 非先制的 最早締切優先スケジューリング

タスク スケジューラに取り組んでおり、EDF スケジューリングを使用したいと考えています。スケジュールする必要があるタスク セットには、期限がその期間と等しいタスクのみが含まれており、タスクは定期的にスケジュールする必要があります。私が抱えている問題は、実行を開始するとタスクを中断できないことです。

EDF が最適なスケジューリング アルゴリズムであるのは、タスクが単一のプロセッサでプリエンプティブにスケジュールされる場合のみであることを知っているので、タスク セットを使用してタスク セットをスケジュールできることを確認するために、タスクに課す可能性のあるテストまたは制約があるかどうか疑問に思っていました。非プリエンプティブ EDF。

どんな助けでも大歓迎です。ありがとうございました

0 投票する
1 に答える
608 参照

kernel - カーネル 2.6 でのアトミック エラー時の jffs2 スケジューリング

jffs2 fs で「アトミックなスケジュール設定」のエラーを見た人はいますか? gcd カーネル スレッドにあるようです。正確な修正は何ですか?2.6.39 カーネル上にあります。プリエンプションが構成されていない場合、問題は発生しません。前もって感謝します。

注: カーネルでデバッグを有効にしない別のトレースは、次のように表示されます。

0 投票する
1 に答える
1391 参照

java - Java SOAP クライアントによる事前認証

SOAPEnvelope MIME ヘッダーを使用して認証をプリエンプティブにする方法は?

0 投票する
2 に答える
649 参照

jersey - ajaxでプリエンプティブREST呼び出しを行うには?

混乱しているだけなので、助けと説明を求めています。

ajaxを使用して、サーバーへのPOST呼び出しを行うjQuery関数があります。

表示されるエラーは、「要求されたリソースに 'Access-Control-Allow-Origin' ヘッダーがありません」です。もちろん、私はそれをグーグルで検索しましたが、答えは常に「自己説明」のblablaエラーであり、サーバー側の障害であり、そこでいくつかのトリックを行う必要があるというものです。これらの答えは、他のすべてのテクノロジで同じ POST 呼び出しを実行できない場合に意味があります。

Javaでまったく同じことをしたとき、ジャージークライアントを使用してうまくいきました.wiztools.orgの残りのクライアントを使用しても同じです(オプションプリエンプティブをチェックする必要がありました)

では、jquery と ajax ではなく、java と jersey で機能する理由を誰か教えてもらえますか? 最終的にajaxで動作させる方法は?

0 投票する
0 に答える
1130 参照

java - Java スレッドが実行されない - CPU 使用率は低いが IO 待機が高い

Ubuntu 12.04 LTS

java -version
java バージョン "1.6.0_38"
Java(TM) SE ランタイム環境 (ビルド 1.6.0_38-b05)
Java HotSpot(TM) 64 ビット サーバー VM (ビルド 20.13-b02、混合モード)

4 コア CPU - 一部の Dell サーバー ハードウェア

10 個のスレッドが、「重い」ジョブを数分間にわたって実行することがあります。他の時期には、彼らは何もしていません。
1 つのスレッドが 5 秒 (またはその程度) ごとにウェイクアップし、ネットワークを介して別のプロセスにクイック ping を送信することになっています。これは、他の 10 個のスレッドが何もしない限りうまく機能しますが、他の 10 個のスレッドが「重い」ジョブを実行している場合、実行されず、ping が送信されることはほとんどありません。

この「重い」ジョブが CPU を集中的に使用する場合、これは理解できます。しかし、そのような「重い」ジョブの間、top は 50-100% の IO 待機のようなものを言いますが、CPU 使用率は約 1% です。プロファイリングによると、10 個のスレッドで費やされた時間のほとんどが NIO 呼び出しに費やされています (おそらく待機中です)。これはすべて合計され、ディスクからファイルを読み取ることが仕事の多くの重さであるため、ちょっと期待されています。

私が理解していないのは、そのような「重い」ジョブ中に、ping を実行している 1 つのスレッドが実行されないことです。top が 1% の CPU 使用率を示し、(プロファイリングと top) 10 個のスレッドがほとんどの時間を IO の待機に費やしているように見える場合、それはどのように説明できますか。他のスレッドが IO を待機しているときに、1 つの ping スレッドが実行時間を取得するはずではありませんか?

Java スレッドの優先順位は、11 個のスレッドすべてで同じです。

10 個のスレッドのあちこちにいくつかの利回りを分散させると問題が解決 (または低下) するようですが、他のスレッドがあまり処理を行わずに待機している場合に、利回りがないと ping スレッドが実行されない理由がわかりません。 IO用。

追加情報 05.03.2014

単純な設定で問題を再現しました - まだそれほど単純ではありません (Apache Zookeeper サーバーのインストール方法を見つける必要がありますが、かなり単純です - 後で情報を提供できます)。

ここで Eclipse Kepler プロジェクトを見つけます (maven - "mvn package" でビルド): https://dl.dropboxusercontent.com/u/25718039/io-test.zip
ここでバイナリを見つけます: https://dl.dropboxusercontent.com/u /25718039/io-test-1.0-SNAPSHOT-jar-with-dependencies.jar

マシンで Apache ZooKeeper 3.4.5 (ポート 2181) サーバーを起動します。別の別のマシン(これは、上記のようにUbuntu 12.04 LTSなどがある場所です)で、次のようにバイナリを実行します(最初にフォルダーio-test-filesを作成します-50GBのスペースが必要です)

最初に 10 個の 5GB ファイルを作成し (50GB はマシンの RAM よりもはるかに大きいため、OS ファイルキャッシュはあまり役に立ちません)、次に ZooKeeper クライアントを開始します (ping/ハートビートを定期的に送信して ZooKeeper サーバーとの接続を維持することになっています)。 、次に10個のファイルにランダムアクセスを行う10個のスレッドを作成し、多くのディスクIOを作成しますが、実際にはCPUの実際の使用はありません。ZooKeeper クライアントが最終的に接続を失うことがわかります (「Zk 状態」-stdouterr.txt で「接続済み」と表示されなくなります)。これは基本的に私が理解していないことです。ZooKeeper クライアント スレッドは、数秒間隔で小さなハートビートを送信するだけで、20 秒以内に送信できない場合にのみ、接続が失われます。CPUに簡単にアクセスできると思いますが、

テスト中に、「top」を使用して次のように表示されます

  • 非常に高い「負荷平均」。基本的に何かを実行しているスレッドは 10 個しかないため、10 を超えるとわかりません。また、「負荷平均」は実際にCPUで実際に処理したいスレッドのみをカウントすると考えました(IOの待機は含まれません)が、http://en.wikipedia.org/wiki/Load_%28computing%29 Linuxによるとまた、IO を待機しているスレッドを含む「中断できないスリープ」もカウントします。しかし、実際にやるべきことを持っている他のスレッドがCPUを手に入れるのを妨げるとは本当に望んでいない/考えていません
  • 非常に高い %wa ですが、CPU の %sy と %us はほとんどありません

これが私の実行の1つからの出力です: https://dl.dropboxusercontent.com/u/25718039/io-test-output.txt

0 投票する
0 に答える
1423 参照

java - JAX-RS によるプリエンプティブ認証?

私は長年の読者であり、初めてのユーザーですので、お手柔らかにお願いします。

javax.ws.rs.client.Client でプリエンプティブ認証を使用しようとしています。これは HTTPClient で動作しますが、JAX 認証システムで同じことを行う方法がわかりません。

私はJAXで動作する基本認証を持っています。これが私のクライアントです:

そして、ここに私の認証フィルターがあります:

上記の HTTPClient で行っているように、プリエンプティブ認証で UsernamePasswordCredentials を使用する例を誰か教えてもらえますか? 例が見つからないので、間違ったことをすべてグーグルで検索する必要があります。

そして、私の投稿が完全にひどい場合は、OP によって閉じられる前にお知らせください =)

0 投票する
1 に答える
443 参照

operating-system - より効率的なプリエンプティブ スケジューラと非プリエンプティブ スケジューラはどちらですか?

プリエンプティブ スケジューラと非プリエンプティブ スケジューラについて学んでいるので、プリエンプティブ スケジューラと非プリエンプティブ スケジューラのどちらがより効率的か疑問に思っていました。それとも同等に効率的ですか?それとも、1 つのタスクに特化しているだけで、独自の方法で効率的ですか?