📄 defconstants.java
字号:
package org.osu.ogsa.stream.util;import java.util.Random;import java.lang.Math;import java.lang.System;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;public class DefConstants{ //The types of BufferDataException public static int BUFDATA_EXPT_GENERAL = 0; public static int BUFDATA_EXPT_EMPTY = 1; public static int BUFDATA_EXPT_FULL = 2; public static int BUFDATA_EXPT_READ = 3; // static int BUFDATA_ET_GENERAL 0 public static int DEFAULT_BUFFER_SIZE = 1024; public static int MAX_NUM_IN_BUFFER = 10; public static int MAX_NUM_OUT_BUFFER = 10; public static int SOCKET_PORT = 18888; public static double NET_BANDWIDTH = -1.0; //when the value is less than 0, no network delay public static int DELAY_MONITOR_BUF = 100; //10 ms //public static double NET_BANDWIDTH = 1000000; //the network delay 100K bps public static int MAX_NUM_UPSTREAM = 10; public static int MAX_NUM_DOWNSTREAM = 10; public static int IN_BUFFER = 0; public static int OUT_BUFFER = 1; public final static int HEAD = 1; public final static int TAIL = 0; public static int UPSTREAM = 0; public static int DOWNSTREAM = 1; public static int WINDOW_SIZE = 5; public static int IDLE_TIME = 1; //microsecond public static int LD_FACTOR_WINDOW = 100; public static int DELAY_THRESHOLD = 50; //microsecond public static boolean IFSPECIFYPARA = false; public static double FULLY_LOADED = 0.75; public static double MAJORITY_BUF_THRESHOLD = 0.666; public static double OVER_LOADED_THRESHOLD = 0.90; public static double LIGHT_LOADED_THRESHOLD = 0.150; public static double LONGTERM_OVER_LOADED_THRESHOLD = 0.6; public static double LONGTERM_EXTREMELY_OVER_LOADED_THRESHOLD = 0.85; public static double LONGTERM_LIGHT_LOADED_THRESHOLD = -0.6; public static double LONGTERM_EXTREMELY_LIGHT_LOADED_THRESHOLD = -0.85; public static double LEARNING_RATE = 0.9; public static double P1 = 0.25; public static double P2 = 0.5; public static double P3 = 0.25; public static double OUTPUTBUFFER_FACTOR = 0.6; public static double INPUTBUFFER_FACTOR = 0.4; public static double INPUTBUFFER_THRESHOLD = 0.3; public static double DECAY_PRO = 0.8; public static boolean IFLINEARLY = false; //for Resource manager public static int GENERAL_LAST15MIN = 300; public static int SPECIAL_LAST15MIN = 200; public static int GENERAL_CLOCKSPEED = 800; public static int SPECIAL_CLOCKSPEED = 1500; public static int GENERAL_RAMAVAILABLE = 50; public static int SPECIAL_RAMAVAILABLE = 150; public static boolean IFLAUNCHING = false; public static int CPU_LIGHT_LOADED = 200; //for monitor service public static int [] BOTTLENECT_SEVERITY_THRESHOLD = {200, 100, 50, 0}; public static int LV_NORMAL = 0; public static int LV_WARNING = 1; public static int LV_SEVERE = 2; public static int LV_CRITICAL = 3; public static int BOTTLENECK_HIGH_THRESHOLD = 20; public static int BOTTLENECK_LOW_THRESHOLD = 10; public static int STAY = 0; public static int MOVE = 1; public static int EXCEPTION = 2; public static boolean IF_NET_BANDWIDTH_VARING = false; public static boolean IF_DYNAMIC_ALLOCATION_APPLIED = false; public static int LIFETIME = 1000; //seconds public static int BANDWIDTH_VARING_TIMES = 4; //seconds// public static int SIMULATOR_ENGINE_SLEEPING_TIME = 10; //milli-second public static int PACKAGE_INTERAL = 2; //ms public static int PACKAGE_SIZE = 1000; //bits public static int SIZE_SELF_SIMILAR_ARRAY = 128; //bits //for varing network bandwidth public static int maxProducingRate = 10000; public static int minProducingRate = 10000; public static int nDivide = 0; public static int timeIntervalForVaringBandwidth = -1; //temp for testing public static double BAD_UTIL = 0.95; public static boolean IF_MIGRATE_IMMED = false; public static boolean IF_FOR_EXP = false; private static Log log = LogFactory.getLog(DefConstants.class.getName()); static { try{ ConfigFileReader c = new ConfigFileReader(); c.init("stream.cnf"); DEFAULT_BUFFER_SIZE = c.getInt("DEFAULT_BUFFER_SIZE"); NET_BANDWIDTH = c.getDouble("NET_BANDWIDTH"); WINDOW_SIZE = c.getInt("WINDOW_SIZE"); IDLE_TIME = c.getInt("IDLE_TIME"); //microsecond DELAY_THRESHOLD = c.getInt("DELAY_THRESHOLD"); //microsecond IFSPECIFYPARA = c.getBoolean("IFSPECIFYPARA"); FULLY_LOADED = c.getDouble("FULLY_LOADED"); MAJORITY_BUF_THRESHOLD = c.getDouble("MAJORITY_BUF_THRESHOLD"); OVER_LOADED_THRESHOLD = c.getDouble("OVER_LOADED_THRESHOLD"); LIGHT_LOADED_THRESHOLD = c.getDouble("LIGHT_LOADED_THRESHOLD"); LONGTERM_OVER_LOADED_THRESHOLD = c.getDouble("LONGTERM_OVER_LOADED_THRESHOLD"); LONGTERM_LIGHT_LOADED_THRESHOLD = c.getDouble("LONGTERM_LIGHT_LOADED_THRESHOLD"); LONGTERM_EXTREMELY_OVER_LOADED_THRESHOLD = c.getDouble("LONGTERM_EXTREMELY_OVER_LOADED_THRESHOLD"); LONGTERM_EXTREMELY_LIGHT_LOADED_THRESHOLD = c.getDouble("LONGTERM_EXTREMELY_LIGHT_LOADED_THRESHOLD"); IF_NET_BANDWIDTH_VARING = c.getBoolean("IF_NET_BANDWIDTH_VARING"); IF_DYNAMIC_ALLOCATION_APPLIED = c.getBoolean("IF_DYNAMIC_ALLOCATION_APPLIED"); IFLINEARLY = c.getBoolean("IFLINEARLY"); //for varing network bandwidth maxProducingRate = c.getInt("maxProducingRate"); minProducingRate = c.getInt("minProducingRate"); nDivide = c.getInt("nDivide"); timeIntervalForVaringBandwidth = c.getInt("timeIntervalForVaringBandwidth"); P1 = c.getDouble("P1"); P2 = c.getDouble("P2"); P3 = c.getDouble("P3"); OUTPUTBUFFER_FACTOR = c.getDouble("OUTPUTBUFFER_FACTOR"); INPUTBUFFER_FACTOR = c.getDouble("INPUTBUFFER_FACTOR"); LEARNING_RATE = c.getDouble("LEARNING_RATE"); //For resource manage GENERAL_LAST15MIN = c.getInt("GENERAL_LAST15MIN"); SPECIAL_LAST15MIN = c.getInt("SPECIAL_LAST15MIN"); GENERAL_RAMAVAILABLE = c.getInt("GENERAL_RAMAVAILABLE"); SPECIAL_RAMAVAILABLE = c.getInt("SPECIAL_RAMAVAILABLE"); IFLAUNCHING = c.getBoolean("IFLAUNCHING"); GENERAL_CLOCKSPEED = c.getInt("GENERAL_CLOCKSPEED"); SPECIAL_CLOCKSPEED = c.getInt("SPECIAL_CLOCKSPEED"); DELAY_MONITOR_BUF = c.getInt("DELAY_MONITOR_BUF"); LIFETIME = c.getInt("LIFETIME"); BANDWIDTH_VARING_TIMES = c.getInt("BANDWIDTH_VARING_TIMES"); BAD_UTIL = c.getDouble("BAD_UTIL"); IF_MIGRATE_IMMED = c.getBoolean("IF_MIGRATE_IMMED"); IF_FOR_EXP = c.getBoolean("IF_FOR_EXP");/* BOTTLENECT_SEVERITY_THRESHOLD[0] = 10; BOTTLENECT_SEVERITY_THRESHOLD[1] = 7; BOTTLENECT_SEVERITY_THRESHOLD[2] = 5; BOTTLENECT_SEVERITY_THRESHOLD[3] = 0; */ System.out.println("DEFAULT_BUFFER_SIZE="+DEFAULT_BUFFER_SIZE); System.out.println("NET_BANDWIDTH="+NET_BANDWIDTH); System.out.println("IDLE_TIME="+IDLE_TIME); System.out.println("DELAY_THRESHOLD="+DELAY_THRESHOLD); System.out.println("IFSPECIFYPARA="+IFSPECIFYPARA); System.out.println("FULLY_LOADED="+FULLY_LOADED); System.out.println("MAJORITY_BUF_THRESHOLD="+MAJORITY_BUF_THRESHOLD); System.out.println("OVER_LOADED_THRESHOLD="+OVER_LOADED_THRESHOLD); System.out.println("LIGHT_LOADED_THRESHOLD="+LIGHT_LOADED_THRESHOLD); System.out.println("LONGTERM_OVER_LOADED_THRESHOLD="+LONGTERM_OVER_LOADED_THRESHOLD); System.out.println("LONGTERM_LIGHT_LOADED_THRESHOLD="+LONGTERM_LIGHT_LOADED_THRESHOLD); System.out.println("LONGTERM_EXTREMELY_OVER_LOADED_THRESHOLD="+LONGTERM_EXTREMELY_OVER_LOADED_THRESHOLD); System.out.println("LONGTERM_EXTREMELY_LIGHT_LOADED_THRESHOLD="+LONGTERM_EXTREMELY_LIGHT_LOADED_THRESHOLD); System.out.println("P1="+P1); System.out.println("P2="+P2); System.out.println("P3="+P3); System.out.println("OUTPUTBUFFER_FACTOR="+OUTPUTBUFFER_FACTOR); System.out.println("INPUTBUFFER_FACTOR="+INPUTBUFFER_FACTOR); System.out.println("LEARNING_RATE="+LEARNING_RATE); System.out.println("DELAY_MONITOR_BUF="+DELAY_MONITOR_BUF); System.out.println("IF_NET_BANDWIDTH_VARING=" + IF_NET_BANDWIDTH_VARING); System.out.println("IF_DYNAMIC_ALLOCATION_APPLIED=" + IF_DYNAMIC_ALLOCATION_APPLIED); System.out.println("LIFETIME=" + LIFETIME); System.out.println("BANDWIDTH_VARING_TIMES=" + BANDWIDTH_VARING_TIMES); System.out.println("BAD_UTIL" + BAD_UTIL); System.out.println("IF_MIGRATE_IMMED" + IF_MIGRATE_IMMED); System.out.println("IF_FOR_EXP" + IF_FOR_EXP); System.out.println("maxProducingRate" +maxProducingRate); System.out.println("minProducingRate" +minProducingRate); System.out.println("nDivide" +nDivide); System.out.println("timeIntervalForVaringBandwidth" + timeIntervalForVaringBandwidth); System.out.println("IFLINEARLY" + IFLINEARLY); } catch(Exception e) { log.error(e.toString()); } } public static int Biased_Coin(Random rand, double probability) { return Biased_Coin(rand, probability, 100); } public static int Biased_Coin(Random rand, double probability, int factor) { int rand_int = 1 + (Math.abs(rand.nextInt()) % factor ); log.debug("rand_int :"+ rand_int); if(rand_int <= (int)(probability* (double)factor)) return HEAD; else return TAIL; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -