1. A battery discharge indicator, comprising:
a positive connector configured to couple to a positive terminal of the battery;
a negative connector configured to couple to a negative terminal of the battery;
a voltage sensor configured to couple to the battery via the positive connector and the negative connector and to sense a battery terminal voltage; and
a microprocessor, coupled to the voltage sensor, configured to provide, substantially independently of a load being applied to the battery, a first alarm signal if a magnitude of the battery terminal voltage is below a first threshold voltage level for a first time interval and if the magnitude of the battery terminal voltage is below a second threshold voltage level for a second time interval.
2. The apparatus of claim 1 further comprising a temperature sensor configured to measure a battery temperature and to provide the measured battery temperature to the microprocessor, which in turn provides a second alarm signal if the battery temperature is above a predetermined threshold.
3. The apparatus of claim 2 wherein the measured battery temperature is the ambient temperature in close proximity to the battery.
4. The apparatus of claim 2 wherein the measured battery temperature is the external temperature of the battery.
5. The apparatus of claim 2 wherein the measured battery temperature in the internal temperature of the battery.
6. The apparatus of claim 2 wherein the temperature sensor comprises a non-contact infrared thermoplie sensor.
7. The apparatus of claim 2 wherein the temperature sensor comprises a thermocouple.
8. The apparatus of claim 2 wherein the temperature sensor comprises a resistance temperature detector (RTD) sensor.
9. The apparatus of claim 2 wherein the temperature sensor comprises an integrated circuit (IC) sensor.
10. The apparatus of claim 2 wherein the temperature sensor comprises a thermistor.
11. The apparatus of claim 1 wherein the first alarm signal is output as a visual alarm signal.
12. The apparatus of claim 1 wherein the first alarm signal is output as an audio alarm signal.
13. The apparatus of claim 1 further comprising an input, coupled to the microprocessor, configured to receive a selected one of a plurality of alarm signals, which the microprocessor is configured to employ as the first alarm signal.
14. The apparatus of claim 1 further comprising a voltage controller configured to receive an input voltage from the battery and to provide a substantially constant supply voltage to the microprocessor.
15. The apparatus of claim 14 wherein the voltage controller comprises a linear regulator.
16. The apparatus of claim 14 wherein the voltage controller comprises a switching regulator.
17. The apparatus of claim 14 wherein the voltage controller comprises a DC-DC converter.
18. The apparatus of claim 1 wherein the first threshold, voltage level is determined by the microprocessor by multiplying a predetermined cell threshold voltage value corresponding to a single cell of the battery by a number of cells in the battery.
19. A method of protecting a vehicle battery from overdischarge, comprising:
(a) sensing a battery voltage;
(b) providing a first alarm signal if a magnitude of the battery voltage is below a first threshold voltage level for a first interval of time; and
(c) providing the first alarm signal if the magnitude of the battery voltage is below a second threshold voltage level for a second interval of time,
wherein steps (b) and (c) are carried out substantially independently of a load being applied to the battery.
20. The method of claim 19 further comprising measuring a battery temperature and providing a second alarm signal if the measured battery temperature is above a predetermined threshold.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A computer implemented method for determining an optimal hardware architecture for a reference application, the method comprising:
executing a plurality of applications on a current hardware architecture, the applications comprising the reference application and a plurality of test applications;
collecting, with a computer, performance data corresponding to performance of the applications on the current hardware architecture;
computing a plurality of application signatures corresponding to the applications using the performance data;
computing a similarity element using the application signatures, wherein the similarity element illustrates degrees of similarity between the applications based on their application signatures; and
deriving, in a computer, using the similarity element, a subset of test applications that are similar to the reference application based on performance, so as to select a plurality of hardware architectures, for testing the reference application, on which improved performance has been reported for the subset of test applications.
2. The computer implemented method of claim 1, wherein collecting performance data comprises sampling performance information at degradation events using a performance indicator, a degradation event type, a plurality of hardware counters, and a time series.
3. The computer method of claim 2, wherein the application signatures correspond to degrees of correlation between the performance indicator and the degradation event type for each application.
4. The method of claim 1, wherein the application signatures comprise a plurality of vectors with a dimension corresponding to a number of hardware counters.
5. The method of claim 4, further comprising ranking a plurality of values within each of the vectors.
6. The method of claim 1, wherein the similarity element is a matrix.
7. The computer implemented method of claim 1 wherein deriving a subset of test applications that are similar to the reference application based on performance comprises:
modeling, using a computer, the similarity element as a cluster of nodes corresponding to the applications;
partitioning, using a computer, the cluster of nodes using a Minimum Spanning Tree algorithm; and
selecting, using a computer, a sub-cluster containing a node corresponding to the reference application.
8. The computer implemented method of claim 2, wherein the degradation event type corresponds to at least one of resource stalls and cache misses and the performance indicator corresponds to at least one of cycles per instruction (CPI), latency per query, and throughput.
9. The computer implemented method of claim 1, wherein the degrees of correlation between the performance indicator and the degradation event type are computed using a Pearson’s correlation.
10. The computer implemented method of claim 1, wherein the degrees of similarity between the applications are computed using a Spearman’s correlation.
11. A computer readable medium comprising (or that stores) a set of instructions which, when executed by a computer, cause the computer to execute steps for determining an optimal hardware architecture for a reference application, the steps comprising
executing a plurality of applications on a current hardware architecture, the applications comprising the reference application and a plurality of test applications;
collecting, with a computer, performance data corresponding to performance of the applications on the current hardware architecture;
computing a plurality of application signatures corresponding to the applications using the performance data;
computing a similarity element using the application signatures, wherein the similarity element illustrates degrees of similarity between the applications based on their application signatures; and
deriving, in a computer, using the similarity element, a subset of test applications that are similar to the reference application based on performance, so as to select a plurality of hardware architectures, for testing the reference application, on which improved performance has been reported for the subset of test applications.
12. The computer readable medium of claim 10, wherein collecting performance data comprises sampling performance information at degradation events using a performance indicator, a degradation event type, a plurality of hardware counters, and a time series.
13. The computer readable medium of claim 12, wherein the application signatures correspond to degrees of correlation between the performance indicator and the degradation event type for each application.
14. The computer readable medium of claim 11, wherein the application signatures comprise a plurality of vectors with a dimension corresponding to a number of hardware counters.
15. The computer readable medium of claim 14, the steps further comprising ranking a plurality of values within each of the vectors.
16. The computer readable medium of claim 11, wherein the similarity element is a matrix.
17. The computer readable medium of claim 11 wherein deriving a subset of test applications that are similar to the reference application based on performance comprises:
modeling, using a computer, the similarity element as a cluster of nodes corresponding to the applications;
partitioning, using a computer, the cluster of nodes using a Minimum Spanning Tree algorithm; and
selecting, using a computer, a sub-cluster containing a node corresponding to the reference application.
18. The computer readable medium of claim 11, wherein the degradation event type corresponds to at least one of resource stalls and cache misses and the performance indicator corresponds to at least one of cycles per instruction (CPI), latency per query, and throughput.
19. The computer readable medium of claim 11, wherein the degrees of correlation between the performance indicator and the degradation event type are computed using a Pearson’s correlation.
20. The computer readable medium of claim 11, wherein the degrees of similarity between the applications are computed using a Spearman’s correlation.