Search in sources :

Example 6 with Copy

use of es.bsc.compss.types.data.operation.copy.Copy in project compss by bsc-wdc.

the class NIOAdaptor method registerCopy.

public void registerCopy(Copy c) {
    for (EventListener el : c.getEventListeners()) {
        Integer groupId = el.getId();
        LinkedList<Copy> copies = GROUP_TO_COPY.get(groupId);
        if (copies == null) {
            copies = new LinkedList<Copy>();
            GROUP_TO_COPY.put(groupId, copies);
        }
        copies.add(c);
    }
}
Also used : Copy(es.bsc.compss.types.data.operation.copy.Copy) EventListener(es.bsc.compss.types.data.listener.EventListener)

Example 7 with Copy

use of es.bsc.compss.types.data.operation.copy.Copy in project compss by bsc-wdc.

the class NIOAdaptor method receivedValue.

@Override
public void receivedValue(Destination type, String dataId, Object object, List<DataRequest> achievedRequests) {
    for (DataRequest dr : achievedRequests) {
        MasterDataRequest mdr = (MasterDataRequest) dr;
        Copy c = (Copy) mdr.getOperation();
        DataLocation actualLocation = c.getSourceData().finishedCopy(c);
        LogicalData tgtData = c.getTargetData();
        if (tgtData != null) {
            tgtData.addLocation(actualLocation);
            if (object != null) {
                tgtData.setValue(object);
            }
        }
        c.end(DataOperation.OpEndState.OP_OK);
    }
    if (NIOTracer.isActivated()) {
        NIOTracer.emitDataTransferEvent(NIOTracer.TRANSFER_END);
    }
}
Also used : LogicalData(es.bsc.compss.types.data.LogicalData) Copy(es.bsc.compss.types.data.operation.copy.Copy) DataLocation(es.bsc.compss.types.data.location.DataLocation) MasterDataRequest(es.bsc.compss.nio.dataRequest.MasterDataRequest) DataRequest(es.bsc.compss.nio.dataRequest.DataRequest) MasterDataRequest(es.bsc.compss.nio.dataRequest.MasterDataRequest)

Example 8 with Copy

use of es.bsc.compss.types.data.operation.copy.Copy in project compss by bsc-wdc.

the class NIOAdaptor method copiedData.

@Override
public void copiedData(int transferGroupId) {
    LOGGER.debug("Notifying copied Data to master");
    LinkedList<Copy> copies = GROUP_TO_COPY.remove(transferGroupId);
    if (copies == null) {
        LOGGER.debug("No copies to process");
        return;
    }
    for (Copy c : copies) {
        LOGGER.debug("Treating copy " + c.getName());
        if (!c.isRegistered()) {
            LOGGER.debug("No registered copy " + c.getName());
            continue;
        }
        DataLocation actualLocation = c.getSourceData().finishedCopy(c);
        if (actualLocation != null) {
            LOGGER.debug("Actual Location " + actualLocation.getPath());
        } else {
            LOGGER.debug("Actual Location is null");
        }
        LogicalData tgtData = c.getTargetData();
        if (tgtData != null) {
            LOGGER.debug("targetData is not null");
            switch(actualLocation.getType()) {
                case PERSISTENT:
                    LOGGER.debug("Persistent location no need to update location for " + tgtData.getName());
                    break;
                case PRIVATE:
                    LOGGER.debug("Adding location:" + actualLocation.getPath() + " to " + tgtData.getName());
                    tgtData.addLocation(actualLocation);
                    break;
                case SHARED:
                    LOGGER.debug("Shared location no need to update location for " + tgtData.getName());
                    break;
            }
            LOGGER.debug("Locations for " + tgtData.getName() + " are: " + tgtData.getURIs());
        } else {
            LOGGER.warn("No target Data defined for copy " + c.getName());
        }
    }
}
Also used : LogicalData(es.bsc.compss.types.data.LogicalData) Copy(es.bsc.compss.types.data.operation.copy.Copy) DataLocation(es.bsc.compss.types.data.location.DataLocation)

Aggregations

Copy (es.bsc.compss.types.data.operation.copy.Copy)8 DataRequest (es.bsc.compss.nio.dataRequest.DataRequest)3 MasterDataRequest (es.bsc.compss.nio.dataRequest.MasterDataRequest)3 LogicalData (es.bsc.compss.types.data.LogicalData)3 DataLocation (es.bsc.compss.types.data.location.DataLocation)3 MultiURI (es.bsc.compss.types.uri.MultiURI)2 UnstartedNodeException (es.bsc.compss.exceptions.UnstartedNodeException)1 NIOURI (es.bsc.compss.nio.NIOURI)1 Data (es.bsc.compss.nio.commands.Data)1 EventListener (es.bsc.compss.types.data.listener.EventListener)1 DeferredCopy (es.bsc.compss.types.data.operation.copy.DeferredCopy)1 StorageCopy (es.bsc.compss.types.data.operation.copy.StorageCopy)1 Resource (es.bsc.compss.types.resources.Resource)1 File (java.io.File)1 IOException (java.io.IOException)1 UnknownHostException (java.net.UnknownHostException)1