File not found in task specified in COMPS

I implemented the application with COMP Superscalar, and I got an unsuccessful task. After looking at the standard error file file (job1_NEW.err), I got a File Not Found exception, but the file exists on my computer.

Any idea what could be a mistake?

EDIT: added resources and project files

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 declaration in interface file

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

If your parameter is really a file, you need to specify its type (i.e. type=Type.FILE ). Otherwise, the COMPS runtime cannot distinguish between a string variable and a file (because the file is actually a string with its outline). Your interface should look like this:

 @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 ); 
+2
source

Source: https://habr.com/ru/post/1244441/


All Articles