2016-03-04 7 views
5

COMP Superscalarでアプリケーションを実装しましたが、タスクが失敗しました。標準エラーファイル(job1_NEW.err)を見ると、ファイルが見つかりませんでしたが、ファイルは自分のコンピュータにあります。COMPSで定義されたタスクにファイルが見つかりません

どのようなエラーが考えられますか?

EDIT:インタフェースファイルに追加のリソースとプロジェクトファイル

resources.xmlの

  <Resource Name="172.16.8.2"> 
       <Capabilities> 
         <Host> 
           <TaskCount>0</TaskCount> 
           <Queue>short</Queue> 
           <Queue/> 
         </Host> 
         <Processor> 
           <Architecture>x86_64</Architecture> 
           <Speed>3.0</Speed> 
           <CoreCount>4</CoreCount> 
         </Processor> 
         <OS> 
           <OSType>Linux</OSType> 
           <MaxProcessesPerUser>32</MaxProcessesPerUser> 
         </OS> 
         <StorageElement> 
           <Size>8</Size> 
         </StorageElement> 
         <Memory> 
           <PhysicalSize>4</PhysicalSize> 
           <VirtualSize>8</VirtualSize> 

         </Memory> 
         <ApplicationSoftware> 
           <Software>Java</Software> 
         </ApplicationSoftware> 
         <Service/> 
         <VO/> 
         <Cluster/> 
         <FileSystem/> 
         <NetworkAdaptor/> 
         <JobPolicy/> 
         <AccessControlPolicy/> 
       </Capabilities> 
       <Requirements/> 
       <Adaptors> 
        <Adaptor name="integratedtoolkit.gat.master.GATAdaptor"> 
         <BrokerAdaptor>sshtrilead</BrokerAdaptor> 
        </Adaptor> 
       </Adaptors> 
     </Resource> 

project.xmlの

<Worker Name="172.16.8.2"> 
    <InstallDir>/opt/COMPSs/Runtime/scripts/system/</InstallDir> 
    <WorkingDir>/home/user/test/wdir/</WorkingDir> 
    <AppDir>/home/user/test/java/matmul/jar/</AppDir> 
    <User>user</User> 
    </Worker> 

メソッドの宣言

@Method(declaringClass = "matmul.files.MatmulImpl") 
     void multiplyAccumulative(
       @Parameter(direction = Direction.INOUT) String file1, 
       @Parameter() String file2, 
       @Parameter() String file3, 
       @Parameter() int bsize 
     ); 
+2

タスクが実行されるリソースにファイルが存在するかどうかをチェックしましたか? –

+2

真、リモートホストを使用しています –

+3

アプリケーションインターフェイス、実行するために使用しているrunco​​mpssコマンド、およびプロジェクト/リソースファイルに関する詳細情報を提供できますか? –

答えて

2

パラメータが実際にファイルである場合は、そのタイプを指定する必要があります(例: type=Type.FILE)。さもなければ、COMPSランタイムは文字列変数とファイルを区別することができません(ファイルは実際にそのパスを持つ文字列なので)。あなたのインターフェイスは次のようになります:

@Method(declaringClass = "matmul.files.MatmulImpl") 
void multiplyAccumulative(
    @Parameter(direction = Direction.INOUT, type = Type.FILE) String file1, 
    @Parameter() String file2, 
    @Parameter() String file3, 
    @Parameter() int bsize 
); 
関連する問題