/** * */ package edu.brown.designer.mappers; import org.voltdb.catalog.Cluster; import org.voltdb.catalog.Host; import org.voltdb.catalog.Table; import edu.brown.designer.Designer; import edu.brown.designer.DesignerHints; import edu.brown.designer.DesignerInfo; import edu.brown.designer.partitioners.plan.PartitionPlan; /** * @author pavlo */ public class SimpleMapper extends AbstractMapper { public SimpleMapper(Designer designer, DesignerInfo info) { super(designer, info); } /* * (non-Javadoc) * @see * edu.brown.designer.mappers.AbstractMapper#generate(edu.brown.designer * .DesignerHints, edu.brown.designer.partitioners.PartitionPlan) */ @Override public PartitionMapping generate(DesignerHints hints, PartitionPlan pplan) throws Exception { PartitionMapping pmap = new PartitionMapping(); // // Sites // Cluster catalog_cluster = (Cluster) info.catalogContext.database.getParent(); int site_id = 0; for (Host catalog_host : catalog_cluster.getHosts()) { int num_sites = catalog_host.getCorespercpu() * catalog_host.getThreadspercore(); for (int ctr = 0; ctr < num_sites; ctr++) { SiteEntry site = new SiteEntry(site_id); pmap.assign(catalog_host, site); site_id++; } // FOR } // FOR // // Table Fragments // for (Table root : pplan.getNonReplicatedRoots()) { for (int ctr = 0; ctr < site_id; ctr++) { SiteEntry site = pmap.getSite(ctr); FragmentEntry fragment = new FragmentEntry(root, ctr); pmap.assign(site, fragment); } // FOR } // FOR pmap.initialize(); return (pmap); } }